en una interfaz, almaceno las constantes de esta manera (me gustaría saber qué piensa de esta práctica). Este es solo un ejemplo falso.En Java, ¿cómo iterar en las constantes de una interfaz?
interface HttpConstants {
/** 2XX: generally "OK" */
public static final int HTTP_OK = 200;
public static final int HTTP_CREATED = 201;
public static final int HTTP_ACCEPTED = 202;
public static final int HTTP_NOT_AUTHORITATIVE = 203;
public static final int HTTP_NO_CONTENT = 204;
public static final int HTTP_RESET = 205;
public static final int HTTP_PARTIAL = 206;
...
}
¿Hay alguna manera de iterar sobre todas las constantes declaradas en esta interfaz?
Opinión: enums _do_ ofrece muchos beneficios en el código moderno, muy recomendable. PERO no en todos los casos. Las cadenas se utilizan mucho análogas a "identificador" (por ejemplo, nombres de atributos, claves de propiedades, identificadores de vista JSF, nombres de consultas nombrados por JPA y marcadores de posición de consulta, roles de seguridad, ...). Problema: los literales de cadena son muy fáciles de escribir y no tienen comprobación de tiempo de compilación. Prefiero declarar todas esas cadenas como constantes, generalmente en una enumeración. SIN EMBARGO, al usarlos como ** parámetros de anotación **, las enumeraciones no están permitidas y todavía hay que recurrir a 'cadena final estática pública 'similar a su código. – fr13d