Java中的非大写常量

JRL*_*JRL 5 java constants naming-conventions

这个关于为什么Java中的常量按惯例大写的问题让我试着想一下反例.

我能想到至少一个(Double.NaN).还有其他人吗?

Boz*_*zho 7

当然,public final static PrintStream out(在java.lang.System.out).但这是一个非常好的例外,因为System.OUT.println它只是丑陋.

此外,大多数时间记录器初始化如下:

private static final Logger logger = Logger.getLogger(MyClass.class);
Run Code Online (Sandbox Code Playgroud)

但是,在这两种情况下,这些都不是真正意义上的常量.所以也许我们可以区分:

static因为需要静态访问而且final因为它们不应在运行时重新分配的字段不一定是常量.

  • 我同意; 我相信常量总是值对象(当然是不可变的对象). (3认同)

use*_*421 4

有很多serialVersionUID

其他的ResultSetMetaDatacolumnNoNulls, columnNullable...
DatabaseMetaData并且ICC_Profile有很多混合大小写的常量。

以下是大多数(如果不是全部)JavaSE 常量的列表:常量字段值