gethsbcolor - java.awt.color purple
Diferencia entre Color.red y Color.RED (3)
Ahí está el código:
public final static Color red = new Color(255, 0, 0);
public final static Color RED = red;
Las letras mayúsculas se introdujeron en JDK 1.4 (para cumplir con su convención de nomenclatura, indicando que las constantes deben estar en mayúsculas).
En esencia, no hay ninguna diferencia (excepto el tamaño de la letra).
Si quiero ser realmente valiente, Oracle podría volverse loco y eliminar las constantes que están en minúsculas, pero eso rompería todos los demás códigos que están escritos antes del JDK 1.4. Nunca se sabe, sugeriría atenerse a las letras mayúsculas para las constantes. Sin embargo, primero tiene que ser desaprobado (como lo menciona Andrew Thompson).
¿Cuál es la diferencia real entre las definiciones de setXxx(Color.red)
y setXxx(Color.RED)
?
He encontrado la siguiente explicación en la web. ¿Se trata de nombrar convenciones?
Java originalmente definió algunos nombres de constantes de color en minúsculas, lo que violaba la regla de nomenclatura de usar mayúsculas para constantes. Están disponibles en todas las versiones de 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 agregó los nombres en mayúsculas apropiados para las constantes: 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
Java definió algunos nombres de constantes de color en minúsculas, lo que violaba la regla de nomenclatura de usar mayúsculas para constantes. Aquí está el código para el color rojo:
public final static Color red = new Color(255, 0, 0);
Más tarde hicieron los mismos colores pero en mayúsculas.
public final static Color RED = red;
Así que realmente no hay diferencia. Todos son iguales, como se puede ver en el código.
public final static Color red = new Color(255, 0, 0);
public final static Color RED = red;
¡Espero que esto ayude!
Realmente no hay diferencia. Ver la clase de 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;