如何定义常量值
我有两种方法来定义常量。 第一个通过使用Enum将一堆静态final DataType变量保存在一个类中,另一个保存在一个类中。
这是拳头类型:
public class TipTipProperties {
public static final String MAX_WIDTH_AUTO = "auto";
public static final String POSITION_RIGHT = "right";
}
作为一个例子,这些变量的使用将通过静态调用来实现: TipTipProperties.MAX_WIDTH_AUTO
第二种类型是:
public enum TipTipProperties {
MAX_WIDTH_AUTO(MaxWidth.AUTO),
POSITION_RIGHT(Position.RIGHT);
private MaxWidth maxWidth;
private Position position;
private TipTipProperties(MaxWidth maxWidth) {
this.maxWidth = maxWidth;
}
private TipTipProperties(Position position) {
this.position = position;
}
public MaxWidth getMaxWidth() {
return maxWidth;
}
public Position getPosition() {
return position;
}
public enum MaxWidth {
AUTO("auto");
private String width;
private MaxWidth(String width) {
this.width = width;
}
public String getWidth() {
return width;
}
}
public enum Position {
RIGHT("right"),
private String position;
private Position(String position) {
this.position = position;
}
public String getPosition() {
return position;
}
}
}
作为示例用法: TipTipProperties.POSITION_RIGHT.getPosition().getPosition()
。
我的问题是:
提前致谢。
Enum是最好的,因为Joshua Bloch在Effective Java中说过,如果你想打印所有的常量,你可以使用Enum来进行更多的控制。 与类常量,你不能有类型safety.read这个进一步的帮助
在你的项目中使用属性文件也是做这件事的好方法。 在这篇文章中解释了如何在Java中做到这一点。
基本上可以在项目的根目录中创建名为tiptip.properties
东西,然后存储所需的所有键值对。