java - Java 到 Kotlin 的构造方法
问题描述
当我将服务的构造函数方法移动到 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
关键字声明。
推荐阅读
- r - 找到字符串中最长的连续元音集
- javascript - 如何修复角度网格附加数据
- mysql - 将结果集分成 10 组
- sql-server - 附加到 Powershell 脚本的输出
- fortran - Read(*,*) 导致 (unit = 5, file = 'stdin') Fortran 运行时错误:文件结束
- flutter - Flutter Typeahead
- http - 为什么电子邮件中的“取消订阅”链接使用 GET 方法而不是 POST、PUT、PATCH 或 DELETE?
- nlp - 如何在 batch_encode_plus 之后获得一批句子的翻译?
- ios - 创建 pod 并发布后 pod install 未安装
- python - 如何计算熊猫列表列中值的总出现次数?