在Kotlin中创建全局常量的正确方法是什么?

时间:2018-12-03 14:52:27

标签: kotlin constants

我想知道在Kotlin中创建全局常数的最佳方法是什么。在Java中,我们将使用内部带有常量的类,而我们只需要导入该类即可访问所有常量。但是在Kotlin中,有两种主要的实现方式:

1)您可以创建一个包含所有常量的对象:

object Constants {
    const val CONST_1 = "foo"
    const val CONST_2 = "bar"
    const val CONST_3 = "toto"
}

但这不是推荐的方式,正如一种开发人员语言在这里说的那样: https://discuss.kotlinlang.org/t/best-practices-for-top-level-declarations/2198/3

2)第二种方法是使用顶级声明,我认为这不是最佳方法,因为常量越多,IDE越多,常量名就可以自动完成代码...您必须一个一个地导入每个常量才能使用它们。

我想知道是否有更好的解决方案。我不想用数百个顶级声明和大量导入来充斥我的IDE,但是显然不建议使用“对象”方式。

那我该怎么办?

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

第二种方法是首选,就像您自己指出的那样。

您不必一一导入常量,因为您可以导入包含常量的整个包。

第一种方法也没有主要问题。只是尝试避免将它们作为伴侣对象。