Color.black和Color.BLACK有什么区别?

5

可能重复:
Color.red和Color.RED之间的区别

我发现Java类java.awt.Color包含了一些同名的字段,有的是大写字母,有的不是。例如:Color.blackColor.BLACK。它们有什么区别吗?

编辑:

...如果没有区别,为什么会有两个呢?


抱歉,我没看到那个。实际上,这是一个重复的! - SteeveDroz
也许不会有人为你投票(+1/-1),但是你可以自己给自己点个赞(+1)。 - mKorbel
5个回答

8

Just take a look at documentation:

public static final Color black

黑色。在默认的sRGB空间中。
public static final Color BLACK

黑色。在默认的 sRGB 空间中。自:1.4 不,它们没有区别。
它们都存在是因为 black 被引入了 Color 类,然后他们意识到它没有遵循命名约定,所以他们添加了大写的版本(你可以看到自 1.4的记录)。他们没有删除旧的版本,以免破坏任何<1.4的代码。

5

除了Color.BLACK符合静态常量命名约定之外,没有任何区别。


3

根据我在源代码中所看到的,没有任何区别。

public final static Color black     = new Color(0, 0, 0);
public final static Color BLACK = black;

1

其实没有什么区别,但是由于Java编译器不强制执行大写字母,因此违反它们被认为是不好的风格。所以,为了提高可读性,应该优先选择color.BLACK。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接