Java成员枚举类型应该大写吗?



这里有一个问题:Java枚举有它们自己的类,也有作为类成员的枚举:

public enum reportType { ...

每次我看到这个都让我很不舒服,因为当我看到它在声明中使用时,它是一个类型,类型应该大写。但是当我试图大写它时,Eclipse警告我不应该大写字段名。我想Eclipse可能比我更了解官方的Java约定,但它似乎就是不对。甚至翻遍了Java约定文档,但没有看到这个问题被引用。

  • 无双关语

枚举是一种类型,其名称应以大写字母开头。枚举成员是常量,它们的文本应该全大写。

如果是自己的类,则以大写开头,如果是成员,则以小写开头。

public enum ReportType { XML, TEXT, HTML };
public class MyClass
{
     ReportType defaultReport = ReportType.XML; 
}

您确定使用默认设置吗?因为通常枚举都是大写的。保存枚举值的变量不能以大写开头。

public enum State {
  UNINITIALIZED,
  INITIALIZED,
  STARTED,
  ;
}
private State state;
private void start() {
  state = State.UNINITIALIZED;
  ...
}
`.

您也可以使用静态导入来摆脱State.部分,尽管通常我认为最好保留它。枚举值是常量,应该是大写的。我看到人们在运行时更改枚举常量中的字段,这不是你想要的(除了类本身的惰性实例化)。

甚至翻遍了Java约定文档,但没有看到这个问题。

Java约定文档已经有20多年没有更新了。基本上从Java 1.1开始。

在Java中,(非原语)类型的名称通常写成PascalCase。由于enum(作为class)定义了类型,因此通常也将它们写成PascalCase:

enum MyEnumInPascalCase { ... }

最新更新