我想知道,如果让公众能够看到“枚举”中的最终数据字段,这是否是一种普遍接受的做法。实例,并使用CONSTANT_CASE命名它们。
我知道它并不严格正确,但我经常使用枚举而不是最终的类来简化代码。
举个例子,我用:
public enum PropertyType {
STRING("string", String.class, "generico"),
BOOLEAN("boolean", Boolean.class, "vero/falso"),
NUMBER("number", Double.class, "numerico"),
INTEGER("integer", Long.class, "intero");
public final String JSON_TYPE;
public final Class JAVA_TYPE;
public final String DESCRIPTION;
private PropertyType(String jsonType, Class javaType, String description)
{
if (jsonType == null)
throw new IllegalArgumentException("json type can't be null");
if (javaType == null)
throw new IllegalArgumentException("java type can't be null");
this.JSON_TYPE = jsonType;
this.JAVA_TYPE = javaType;
this.DESCRIPTION = description;
}
}
而不是
public class PropertyType {
public static final class STRING {
public static final String JSON_TYPE="string";
public static final Class JAVA_TYPE=String.class;
public static final String DESCRIPTION="generico";
}
...
...
private PropertyType() {}
}
这两个选项都允许您使用类似' PropertyType.STRING.DESCRIPTION'这样的语法,但第一个选项更容易编码,冗余更少,而且扩展速度更快,后者更快#39 ; s很长时间用很多复制和粘贴代码... 由于两者的目的相同,为什么需要不同的命名约定?
答案 0 :(得分:2)
虽然这个问题主要是基于意见的,但我会说以下内容: