这里的肛门问题:我们有Java枚举,它们是自己的类,以及作为类成员的枚举:
public enum reportType { ...
每次我看到它都会刺激我*因为当我看到它在声明中使用时,它是一个类型,并且类型应该大写。但是当我试图利用它时,Eclipse警告我不应该将字段名称大写。我认为Eclipse可能比我更了解官方的Java约定,但它似乎并不正确。甚至翻阅了Java约定文档,但没有看到引用这个问题。
答案 0 :(得分:14)
枚举是一种类型,枚举名称应以大写字母开头。枚举成员是常量,他们的文本应该是全大写的。
答案 1 :(得分:11)
如果他们是自己的班级,则以大写字母开头,如果他们是小写成员。
public enum ReportType { XML, TEXT, HTML };
public class MyClass
{
ReportType defaultReport = ReportType.XML;
}
答案 2 :(得分:4)
您确定使用的是默认设置吗?因为通常枚举确实是大写的。保持枚举值的变量应该不以限额开头。
public enum State {
UNINITIALIZED,
INITIALIZED,
STARTED,
;
}
private State state;
private void start() {
state = State.UNINITIALIZED;
...
}
`.
您也可以使用静态导入来摆脱State.
部分,尽管通常我认为留下它是更好的方法。枚举值是常量,应该在CAPS中。我已经看到人们在运行时期间更改了枚举常量中的字段,这不是你想要的(除了类本身内的懒惰实例化)。
答案 3 :(得分:4)
甚至翻阅了Java约定文档,但没有看到引用此问题。
Java convention doc已在10年多时间内未更新。基本上自Java 1.1以来。
答案 4 :(得分:2)
在Java中,(非原始) 类型 的名称通常写在 PascalCase 中。由于enum
(作为class
)定义了一种类型,通常也会在 PascalCase 中编写它们:
enum MyEnumInPascalCase { ... }