Ok donc c'est une question de débutant sur Java, mais je n'arrive pas à comprendre.Explication de la manière dont le classloader charge les variables statiques
J'ai le code suivant dans ma 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;
}
Ce code me donne une exception d'initialisation en raison d'une NullPointerException dans la ligne suivante
String [] listCode = new String [LIST_INTEGER.length];
Semble la LIST_INTEGER variable est nulle à ce temps.
Quelqu'un peut-il expliquer pourquoi? le processus du chargeur de classes est-il linéaire, en d'autres termes, invoque-t-il la méthode avant de charger toutes les autres variables?
déplacer la déclaration de LIST_INTEGER à la ligne avant LIST_CODE – Ron