Pointeur Null accès: Les données de la variable ne peut être que nulle à cet endroit

Ok, c'est ce que j'ai:

        String[] data = null;
    String[] data2 = null;
    String[] datas = res.split("(s1)");
    int i1 = 0;
    int i2 = 0;
    for(String datasx : datas)
    {
        i1++;
        String[] datas2 = datasx.split("(s2)");

        for(String datas2x : datas2)
        {
            String[] odcinek = datas2x.split("(s3)");
            data[i2] = odcinek[1] + "////" + odcinek[2] + "////" + odcinek[6];
            i2++;
        }
    }

Et il ne fonctionne pas. Application se bloque sur cette ligne:

data[i2] = odcinek[1] + "////" + odcinek[2] + "////" + odcinek[6];

En fait, Eclipse me donne l'avertissement suivant:

Pointeur Null accès: Les données de la variable ne peut être que nulle à cet endroit

mais je n'ai aucune idée de ce qui est mauvais. Quelqu'un peut-il aider? Merci.

le data tableau est initialisé à null et il n'est jamais attribué à une autre valeur. Le tableau lui-même est nulle, de sorte que vous ne pouvez pas affecter une valeur à un membre dans ce tableau, par exemple: data[i2] = ...
La question ici n'est pas le NPE lui-même, mais que vous avez besoin d'apprendre à vérifier toutes les variables de la ligne qui provoque le NPE chaque fois que vous en obtenir un par un recul à l'aide de votre code et de voir où chaque variable a été initialisée. Faire cela comme un réflexe et la prochaine fois, la réponse devrait être évidente pour vous. J'ai supprimé ma réponse ci-dessous pour aider à réduire la "réponse fouillis".
même sujet: stackoverflow.com/questions/4909903 et stackoverflow.com/questions/20035122

OriginalL'auteur Maciej Wilczyński | 2012-04-22