在Java中,要声明一个常量,您可以这样做:
class Hello {
public static final int MAX_LEN = 20;
}
Kotlin中的等价物是什么?
发布于 2016-11-01 13:26:47
根据Kotlin documentation的说法,这是等价的:
class Hello {
companion object {
const val MAX_LEN = 20
}
}
用法:
fun main(srgs: Array<String>) {
println(Hello.MAX_LEN)
}
这也是静态的final属性(带有getter的字段):
class Hello {
companion object {
@JvmStatic val MAX_LEN = 20
}
}
最后,这是静态的final字段:
class Hello {
companion object {
@JvmField val MAX_LEN = 20
}
}
发布于 2016-11-01 13:27:54
如果在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
}
发布于 2018-01-05 00:45:58
对我来说
object Hello {
const val MAX_LEN = 20
}
太过陈词滥调了。我简单地将静态的final字段放在我的类上面,如下所示
private val MIN_LENGTH = 10 // <-- The `private` scopes this variable to this file. Any class in the file has access to it.
class MyService{
}
https://stackoverflow.com/questions/40352879
复制相似问题