Esiste un modo per definire variabili finali statiche (costanti efficaci) in una dichiarazione enum Java?Come definire le costanti statiche in un enum Java?
Quello che voglio è quello di definire in un unico luogo il valore letterale di stringa per la BAR (1 ... n) valori:
@RequiredArgsConstructor
public enum MyEnum {
BAR1(BAR_VALUE),
FOO("Foo"),
BAR2(BAR_VALUE),
...,
BARn(BAR_VALUE);
private static final String BAR_VALUE = "Bar";
@Getter
private final String value;
}
ho ottenuto il seguente messaggio di errore per il codice precedente: Non può RIFERIMENTO un campo prima che sia definito.
perché dovresti avere così tante enumerazioni con lo stesso valore? questo sembra totalmente contro l'idioma delle enumerazioni! – Juvanis
Il testo dell'errore è la risposta al tuo problema !! –
@Juvanis: si noti che ogni istanza enum ha il proprio nome univoco, quindi non la considero una violazione degli idiomi dell'enumerazione. Nel mio caso, le istanze di MyEnum fungono da chiavi per una mappa, le quali chiavi devono anche essere inviate a un target esterno. Questi valori di uscita sono uguali in alcuni casi secondo le specifiche. – jilt3d