我知道java中enum的用法。
建议使用枚举来存储程序常量(而不是下面描述的类)?
public class Constants{
public static final String DB_CF_NAME = "agent";
public static final String DB_CF_ID = "agent_id";
public static final String DB_CF_TEXT = "agent_text";
public static final String DB_CF_LATITUDE = "latitude";
}
答案 0 :(得分:4)
建议使用Enum。可能的原因如
可以自己制作方法,让你的课程自我维持。但最好的方法是使用Enum
答案 1 :(得分:2)
是的,你是对的 - 建议使用枚举来存储程序常量。
正如您在下面的示例中所看到的,此方法允许您:
为字符串文字添加/覆盖有用的方法:
public enum Days {
MONDAY("Monday"),
TUESDAY("Tuesday"),
SUNDAY ("Sunday");
private final String name;
private Day(String s) {
name = s;
}
使用Enums
的内置方法:
public boolean equalsName(String otherName){
return (otherName == null)? false : name.equals(otherName);
}
使用EnumMap
和EnumSet
:
private EnumSet<Option> badDays = EnumSet.of(Days.MONDAY, Days.TUESDAY);
Here is a good对此进行了讨论。
答案 2 :(得分:1)
这适用于Java 1.5及以上版本:
public enum Constants {
DB_CF_NAME("agent"),
DB_CF_ID("agent_id"),
DB_CF_TEXT("agent_text"),
DB_CF_LATITUDE("latitude");
private String name;
private Constants(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
}
您需要使用问题中提到的public static final
变量构造的唯一时间是您在为Java 1.4或更低版本编程时。我有点希望你永远不需要那样做。
答案 3 :(得分:1)