用于在核心java项目中定义常量的单独接口或实用程序类

时间:2016-11-07 08:33:59

标签: java

我正在开发一个项目(使用JDK7),它有30到40个常量。我的项目的许多类正在使用这些常量。我想将这些常量分成单个文件。我应该选择哪种类型的文件?,Interface或Utility类,我正在考虑使用接口。它会合适吗?

3 个答案:

答案 0 :(得分:3)

根据SonarQube规则Constants should not be defined in interfaces

Example from Eclipse with sonar binding

你应该使用一个类或枚举。

答案 1 :(得分:2)

我在这种情况下使用带有私有构造函数的类。

但请注意,您应该只将常量放在一个文件中,它们之间存在概念上的联系。不要简单地在一个类中存储一堆不相关的常量。

如果常量可能随着时间的推移而变化,因为它们更多的是配置类型,我会花费额外的精力将它们存储在配置文件中。

答案 2 :(得分:1)

我这样做..

class Constants {

private Constants() {

}

public static final String CONST_1 = "";
//add your constants here as public static final properties

}