2013-03-06 135 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真正。