Sto tentando di trovare un modo per forzare Java a caricare/inizializzare un tipo enumerato (che è annidato in una classe che contiene una mappa statica).Forza inizializzazione di un tipo enumerato in Java
Questo è importante per me perché il tipo enumerato ha un costruttore che popola detta mappa, e senza un modo esplicito per inizializzare questa enumerazione, la mappa rimarrà vuota. Ho tentato di utilizzare Class.forName
, ma questo non sembra funzionare.
Suppongo di poter creare un'istanza dell'enumerazione (e memorizzarla in un'altra raccolta o qualcosa del genere), ma mi piacerebbe sapere se c'è un modo elegante per farlo.
Se non sei garantito l'enumerazione sarà costruito prima è necessario utilizzare la mappa, si potrebbe voler riconsiderare il vostro disegno qui, anche se la raccomandazione di Matt di utilizzare un inizializzatore statico sarà probabilmente ottenere tu quello che vuoi – Bryan
'Class.forName' inizializza una classe. Se "non funziona", il codice ha altri problemi che non ti rendi conto. Perché non pubblicare il tuo codice. – irreputable
Fondamentalmente vedo un'eccezione che indica che la classe è "non valida" e so per certo che ho il percorso del pacchetto corretto. è Class.forName() * supposto * che funzioni sull'enumerazione in tutti i casi? –