in un'interfaccia, memorizzo le costanti in questo modo (mi piacerebbe sapere cosa ne pensi di questa pratica). Questo è solo un esempio fittizio.In Java, come eseguire un'iterazione sulle costanti di un'interfaccia?
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;
...
}
C'è un modo per iterare su tutte le costanti dichiarate in questa interfaccia?
Pareri: le enumerazioni _do_ offrono molti vantaggi nel codice moderno, altamente raccomandato. MA non in tutti i casi. Le stringhe vengono utilizzate molto analogamente all '"identificatore" (ad esempio nomi di attributi, chiavi di proprietà, ID vista JSF, nomi di query con nome JPA e segnaposto di query, ruoli di sicurezza, ...). Problema: i valori letterali stringa sono _molto_ facili da digitare e non hanno il controllo del tempo di compilazione. Preferisco dichiarare tutte queste stringhe come costanti, di solito in un enum. TUTTAVIA, quando li si utilizza come ** parametri di annotazione **, le enumerazioni non sono consentite e si deve ancora ripiegare su 'stringa finale statica pubblica simile al codice. – fr13d