Kotlin语言中是否有任何类型可用于后期初始化而不是java.lang.Integer
以便我不会收到编译器警告?在Kotlin项目中使用@Value注释时的编译器警告
比方说,我有这样一个类:
class SomeClass {
@Value(#{config['poolCapacity']?:'5000'})
lateinit var somePool: Integer
}
我无法从科特林使用Int
类型,因为它的基本类型和lazeint
不接受它。
如果我坚持java.lang.Integer
它工作得很好,但我得到这种编译器警告:
SomeClass.kt:(20,24):此类不应该在科特林使用。改为使用 kotlin.Int。
很明显,我可能会自己创建需要的类型,但我只是想知道是否有一些开箱即用,并建议我们应该在这种情况下使用,而我根本找不到它? (注释的构造函数在这种情况下不是解决方案)。
为什么不简单地将它设置为-1或Int.MinValue来标记它没有被初始化? 另一种选择是使用BigInteger(但可能会对性能产生影响) –
@ LiorBar-On我想我已经过时了这个:)简单是一个国王! –