Ok quindi questa è una domanda newbie su java, ma non riesco a capirlo.Spiegazione di come il classloader carica le variabili statiche
ho il seguente codice all'interno della mia classe
private static final String [] LIST_CODE = gerarListCode();
private static final int [][] LIST_INTEGER = new int [][] {
{947,947}, {110,103},
{947,958}, {110,120},
{947,954}, {103,107},
{947,967}, {110,99,104}};
private static String [] gerarListCode()
{
String [] listCode = new String [LIST_INTEGER.length];
for (int i=0 ; i<LIST_INTEGER.length ; i++)
{
//do some stuff
}
return listaUnicode;
}
Questo codice mi sta dando un'eccezione di inizializzazione a causa di un NullPointerException nella riga seguente
String [] listCode = new String [LIST_INTEGER.length];
Sembra la LIST_INTEGER variabile è nulla in quel tempo.
Qualcuno può spiegare perché? il processo classloader è lineare, in altre parole, invoca il metodo prima di caricare completamente tutte le altre variabili?
spostare la dichiarazione di LIST_INTEGER alla riga prima di LIST_CODE – Ron