可能重复:
Color.red和Color.RED之间的区别
我发现Java类java.awt.Color
包含了一些同名的字段,有的是大写字母,有的不是。例如:Color.black
和Color.BLACK
。它们有什么区别吗?
编辑:
...如果没有区别,为什么会有两个呢?
可能重复:
Color.red和Color.RED之间的区别
我发现Java类java.awt.Color
包含了一些同名的字段,有的是大写字母,有的不是。例如:Color.black
和Color.BLACK
。它们有什么区别吗?
编辑:
...如果没有区别,为什么会有两个呢?
Just take a look at documentation:
public static final Color black
public static final Color BLACK
black
被引入了 Color
类,然后他们意识到它没有遵循命名约定,所以他们添加了大写的版本(你可以看到自 1.4的记录)。他们没有删除旧的版本,以免破坏任何<1.4的代码。除了Color.BLACK
符合静态常量命名约定之外,没有任何区别。
根据我在源代码中所看到的,没有任何区别。
public final static Color black = new Color(0, 0, 0);
public final static Color BLACK = black;
其实没有什么区别,但是由于Java编译器不强制执行大写字母,因此违反它们被认为是不好的风格。所以,为了提高可读性,应该优先选择color.BLACK。