Kotlin 构造方法

huangapple go评论82阅读模式
英文:

Java to Kotlin constructor method

问题

以下是您要翻译的内容:

将我的服务的构造方法移动到 Kotlin 代码中时,我会收到“方法从未被使用”的消息。将下面的方法转移到 Kotlin 服务中的正确方法是什么?我认为可以使用 init 块,但我不太确定。

public CurrencyServiceImpl() {
    currenciesCache = Caffeine.newBuilder().maximumSize(100).expireAfterWrite(1, TimeUnit.DAYS).build();
}

现在对于 Kotlin,下面的代码会报错“函数 'CurrencyServiceImpl' 从未被使用”。

fun CurrencyServiceImpl() {
    currenciesCache = Caffeine.newBuilder().maximumSize(100).expireAfterWrite(1, TimeUnit.DAYS)
            .build<String, String>()
}

因此,我将其更改为以下代码:

init {
    currenciesCache = Caffeine.newBuilder().maximumSize(100).expireAfterWrite(1, TimeUnit.DAYS)
            .build<String, String>()
}

但我不确定是否被视为“适当”。

英文:

When I move my service's constructor method to Kotlin code, I get a "Method is never used" message. What would be the correct way to transfer the below method to a Kotlin service? I think an init block could be used instead but I'm not sure.

public CurrencyServiceImpl() {
    currenciesCache = Caffeine.newBuilder().maximumSize(100).expireAfterWrite(1, TimeUnit.DAYS).build();
}

Now for Kotlin, the below throws "Function "CurrencyServiceImpl" is never used"

fun CurrencyServiceImpl() {
    currenciesCache = Caffeine.newBuilder().maximumSize(100).expireAfterWrite(1, TimeUnit.DAYS)
            .build&lt;String, String&gt;()
}

So I changed it to the code below:

init {
    currenciesCache = Caffeine.newBuilder().maximumSize(100).expireAfterWrite(1, TimeUnit.DAYS)
            .build&lt;String, String&gt;()
}

But I am not sure if that is considered "appropriate".

答案1

得分: 4

你的初始化代码是完全适当的。

注意,你之前定义的 fun CurrencyServiceImpl() 并不是一个构造函数,而是一个成员函数,这就是为什么它没有被使用。在 Kotlin 中,构造函数必须使用 constructor 关键字声明。

英文:

Your init is perfectly appropriate.

Note that the fun CurrencyServiceImpl() you defined before is not a constructor but a member function, hence why it wasn't being used. Constructors in Kotlin must be declared using the cosntructor keyword.

huangapple
  • 本文由 发表于 2020年8月21日 02:31:36
  • 转载请务必保留本文链接:https://go.coder-hub.com/63511235.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定