2013-03-06 136 views
3

Java如何为每个预设颜色都有两个java.awt.Color值?它有一个大写的第一个字母,另一个大写。我做了一个测试课,打印出颜色的两个值,看看它们是否不同。Java如何为每种颜色提供两种颜色值?

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有两个完全相同的值?

回答

8

小写字母的常量是大写字母的同义词。并且为了记录,小写字母为goofs - 编码约定要求常量应该具有全部大写字母的名称,从Java的1.4版开始就已经修复了这个问题;奇怪的是,这段时间之后,他们还没有被标记为弃用。我想他们只是出于向后兼容的原因而留在那里。

1

与旧版本的兼容性;在JDK 1.4中引入了大写字母。

0
Color.white.equals(Color.WHITE); 

IS真正。