Разница между Color.red и Color.RED

Какая разница между определениями для setXxx(Color.red) и setXxx(Color.RED) ?

Я нашел следующее объяснение в Интернете. Все дело в соглашениях об именах?

Первоначально Java определяла несколько имен констант цвета в нижнем регистре, что нарушало правило именования использования верхнего регистра для констант. Они доступны во всех версиях Java: Color.black, Color.darkGray, Color.gray, Color.lightGray, Color.white, Color.magenta, Color.red, Color.pink, Color.orange, Color.yellow, Color .green, Color.cyan, Color.blue

Java 1.4 добавила правильные имена в верхнем регистре для констант: Color.BLACK, Color.DARK_GRAY, Color.GRAY, Color.LIGHT_GRAY, Color.WHITE, Color.MAGENTA, Color.RED, Color.PINK, Color.ORANGE, Color.YELLOW, Color.GREEN, Color.CYAN, Color.BLUE

Есть сам код:

 public final static Color red = new Color(255, 0, 0); public final static Color RED = red; 

Письма в верхнем регистре были введены в JDK 1.4 (чтобы соответствовать его именованию, указав, что константы должны быть в верхнем регистре).

По сути, нет никакой разницы (кроме обложки письма).


Если я действительно хочу быть храбрым, Oracle может пойти на дикую природу и удалить константы с более низким уровнем, но тогда это сломает все остальные коды, написанные до JDK 1.4. Вы никогда не знаете, я бы предложил придерживаться заглавных букв для констант. Сначала это нужно осуждать (как упоминалось Эндрю Томпсоном).

Нет никакой разницы. См. Класс « Color »:

 /** * The color red. In the default sRGB space. */ public final static Color red = new Color(255, 0, 0); /** * The color red. In the default sRGB space. * @since 1.4 */ public final static Color RED = red; 

Java определила некоторые имена констант цвета в нижнем регистре, что нарушило правило именования использования верхнего регистра для констант. Вот код для красного цвета:

 public final static Color red = new Color(255, 0, 0); 

Позже они сделали те же цвета, но в верхнем регистре.

 public final static Color RED = red; 

Поэтому нет никакой разницы. Они все одинаковые, как вы можете сказать по коду.

 public final static Color red = new Color(255, 0, 0); public final static Color RED = red; 

Надеюсь это поможет!

  • Учитывая значение RGB, как мне создать оттенок (или оттенок)?
  • Несколько цветов переднего плана в PowerShell по одной команде
  • Создавайте четкие цвета RGB в графиках
  • Определить цвет шрифта на основе цвета фона
  • Как печатать цвет в консоли с помощью System.out.println?
  • Алгоритм добавления смешанного цвета для значений RGB
  • Цвет фона элемента ListBox (winforms)
  • Цветовой индекс Star BV до уровня RGB
  • Есть ли простой способ сравнить, насколько близки два цвета друг к другу
  • Как получить цвет пикселя в UIView?
  • Как преобразовать hex в rgb с помощью Java?
  • Давайте будем гением компьютера.