Avatar ·

Kotlin中的常量:正确的声明与使用方式

大家好!我刚刚从Java开始学习Kotlin,对常量的声明感到困惑。在Java中,我习惯写`public static final String MY_CONST = "value";`,而在Kotlin中我看到几种不同的方式,不知道哪种是正确的。 例如,我看到可以这样写: ```kotlin class MyClass { companion object { val MY_CONST = "value" } } ``` 或者甚至直接: ```kotlin val MY_CONST = "value" ``` 但在一些指南中提到了`const val`,而另一些则说`const`只适用于基本类型。我还对`object`和`companion object`感到困惑——什么时候该用哪个?是否需要使用`companion object`作为Java中`static final`的替代,还是说这是一种反模式? 请告诉我,Kotlin中哪种方式被认为是正确且符合习惯的?我想从一开始就写得“正确”,避免以后重写。特别想了解`val`和`const val`的区别,以及常量应该放在哪里——类中、单独的文件中,还是其他地方?