什么是Kotlin中的Java静态最终字段的等价物?

在Java中,为了声明一个常量,你可以这样做:

class Hello { public static final int MAX_LEN = 20; } 

Kotlin中的等价物是什么?

根据Kotlin 文档,这是等价的:

 class Hello { companion object { const val MAX_LEN = 20 } } 

用法:

 fun main(srgs: Array<String>) { println(Hello.MAX_LEN) } 

这也是静态的最终属性(与getter字段):

 class Hello { companion object { @JvmStatic val MAX_LEN = 20 } } 

最后这是静态的最后一场:

 class Hello { companion object { @JvmField val MAX_LEN = 20 } } 

如果您在Hello有一个实现,请在类中使用companion object

 class Hello { companion object { val MAX_LEN = 1 + 1 } } 

如果Hello是一个纯单例对象

 object Hello { val MAX_LEN = 1 + 1 } 

如果属性是编译时常量,则添加一个const关键字

 object Hello { const val MAX_LEN = 20 } 

如果您想在Java中使用它,请添加@JvmStatic批注

 object Hello { @JvmStatic val MAX_LEN = 20 }