Java 到 Kotlin 构造方法
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>()
}
但我不确定这是否被认为是“合适的”。
你的 init 非常合适。
请注意,您之前定义的 fun CurrencyServiceImpl()
不是构造函数而是成员函数,因此未被使用。 Kotlin 中的构造函数必须使用 cosntructor
关键字声明。
当我将服务的构造函数方法移动到 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>()
}
但我不确定这是否被认为是“合适的”。
你的 init 非常合适。
请注意,您之前定义的 fun CurrencyServiceImpl()
不是构造函数而是成员函数,因此未被使用。 Kotlin 中的构造函数必须使用 cosntructor
关键字声明。