This question acerca de por qué las constantes en Java son mayúsculas por convención me hizo pensar en ejemplos de contador.Constantes no mayúsculas en Java
Puedo pensar en al menos uno (Double.NaN
). ¿Hay otros?
This question acerca de por qué las constantes en Java son mayúsculas por convención me hizo pensar en ejemplos de contador.Constantes no mayúsculas en Java
Puedo pensar en al menos uno (Double.NaN
). ¿Hay otros?
¡Hay muchos serialVersionUID
!
Otros en ResultSetMetaData
como columnNoNulls
, columnNullable
...
DatabaseMetaData
y ICC_Profile
tienen un montón de constantes casos mixtos.
Aquí es una lista con la mayoría, si no todos, JavaSE constantes: Constant Field Values
¡El enlace a todas las constantes lo convierte en un ganador! – JRL
null
, true
y false
. Se puede decir que son palabras clave, pero cuando se llega a eso, son constantes que evalúan a 0x00, 0x01 y 0x00 respectivamente.
Constantes de color como negro, rojo, verde, etc. de java.awt.Color clase.
Cabe señalar que java.awt.Color también proporciona las alternativas en mayúsculas (por ejemplo, NEGRO, ROJO, VERDE, etc.) de estas constantes.
java.util.logging.Logger.global es una constante con minúsculas
Por supuesto, public final static PrintStream out
(en java.lang.System.out
). Pero es una muy buena excepción, porque System.OUT.println
es feo.
Además, la mayoría de los registradores de tiempo se inicializan como sigue:
private static final Logger logger = Logger.getLogger(MyClass.class);
Sin embargo, en ambos casos estos no son constantes en el verdadero sentido de la palabra. Así que tal vez podemos hacer una distinción:
Los campos que son static
, ya que necesitan un acceso estático, y final
porque no deben ser reasignados en tiempo de ejecución, no son necesariamente constantes de .
Estoy de acuerdo; Creo que las constantes son siempre objetos de valor (inmutables, por supuesto). –
Estoy de acuerdo. La mayúscula debe reservarse para constantes * inmutables *, no simplemente cualquier cosa 'estática' y' final'. – cdunn2001
El length
de instancias de matriz.
Por cierto, veo ejemplos mencionados de objetos que son "constantes" en un aspecto, es decir, su referencia no cambia: la referencia es una estática final, pero cuando esos objetos están activos; es decir, sus atributos internos cambian cuando se llaman los métodos en estos objetos. En esos casos, no utilizaría la convención de nomenclatura UPPERCASE ya que los objetos no son constantes en mi opinión.
¿No debería ser esto una Wiki de la comunidad? – Yuval
¿Esto es interesante o útil? ¿Cómo te ayuda a ti o a alguien a hacer tu trabajo? –