为什么Java为每种预设颜色都有两个java.awt.Color值?它有一个首字母大写,另一个大写。我创建了一个测试类,它打印出两个颜色值,看它们是否不同。
import java.awt.Color;
public class test{
public static void main(String[] args){
System.out.println("white is: "+Color.white+" and WHITE is: "+Color.WHITE);
}
}
这会打印出相同的结果。那么为什么java有两个完全相同的值?
答案 0 :(得分:8)
小写常量是大写的同义词。而对于记录,小写的是蠢事 - 编码约定要求常量应该具有全大写的名称,这是从Java 1.4版本开始修复的;奇怪的是,他们在所有这段时间之后都没有被标记为弃用。我猜他们只是出于向后兼容的原因而留在那里。
答案 1 :(得分:1)
与旧版本的兼容性;大写字母是在JDK 1.4中引入的。
答案 2 :(得分:1)
<强>白强>
public static final Color white
颜色为白色。在默认的sRGB空间中。
<强>白强>
public static final Color WHITE
颜色为白色。在默认的sRGB空间中
的自:
1.4
所以唯一不同的是版本WHITE是在1.4版本的jdk 中引入的 白色只是为了支持旧系统兼容性而存在 http://docs.oracle.com/javase/6/docs/api/java/awt/Color.html#white
答案 3 :(得分:0)
Color.white.equals(Color.WHITE);
是真的。