为什么Java每种颜色都有两个颜色值?

use*_*804 3 java

为什么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);
   }
}
Run Code Online (Sandbox Code Playgroud)

这打印出相同的结果.那么为什么java有两个完全相同的值呢?

Ósc*_*pez 8

小写常量是大写的同义词.而对于记录,小写的是蠢事 - 编码约定要求常量应该具有全大写的名称,这是从Java 1.4版本开始修复的; 奇怪的是,他们在所有这段时间之后都没有被标记为弃用.我猜他们只是出于向后兼容的原因而留在那里.