3

Java には、プリセット色ごとに 2 つの java.awt.Color 値があるのはなぜですか? 最初の文字が大文字のものと、すべて大文字のものがあります。色の 2 つの値を出力して、それらが異なるかどうかを確認するテスト クラスを作成しました。

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 にはまったく同じ値が 2 つあるのでしょうか。

4

4 に答える 4

9

小文字の定数は、大文字の定数と同義です。記録のために、小文字のものは間抜けでした-コーディング規約では、定数の名前はすべて大文字にする必要があり、これはJavaのバージョン1.4以降で修正されました。これまでずっと、非推奨としてマークされていないのは奇妙です。後方互換性のためだけに残っていると思います。

于 2013-03-06T21:54:42.543 に答える
1

古いバージョンとの互換性; 大文字はJDK 1.4で導入されました。

于 2013-03-06T21:54:04.920 に答える
1

white
public static final Color white 白
の色。デフォルトの sRGB 空間。

WHITE
public static final Color WHITE
白の色。デフォルトの sRGB 空間。
以降: 1.4

したがって、バージョンとの唯一の違いは、ホワイトが 1.4 バージョンの jdk で導入された ことです。ホワイトは、古いシステムの互換性をサポートするためだけに存在します
http://docs.oracle.com/javase/6/docs/api/java/awt/Color.html#白い

于 2013-03-06T21:56:13.557 に答える
0
Color.white.equals(Color.WHITE);

真です。

于 2013-03-06T21:57:21.750 に答える