问题描述
当我将服务的构造函数方法移至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,String>()
}
但是我不确定这是否被认为是“适当的”。
解决方法
您的初始化非常合适。
请注意,您之前定义的fun CurrencyServiceImpl()
不是构造函数,而是成员函数,因此为什么不使用它。必须使用cosntructor
关键字声明Kotlin中的构造函数。