Exception de pointeur Null, “Tentative de lecture de champ à partir d'une référence d'objet nul”

Je fais une application dans laquelle l'utilisateur tape dans une liste de tâches, et que la liste est enregistrée dans un tableau. Chaque tâche dans le tableau est une instance de la Assignment classe. Cependant, j'ai réalisé qu'en java il n'est pas possible d'ajouter un élément à un tableau d'après le tableau est créé. Donc, ce que j'ai fait, j'ai créé un tableau appelé tasks qui se composait de beaucoup de valeurs nulles: Assignment[]tasks = {null, null, null, null, null, null, null, null, null, null, null, null};. Quand je veux ajouter une tâche au tableau, je viens de remplacer la prochaine valeur null avec l'objet. Cependant, j'ai aussi besoin d'avoir un tableau de simplement des tâches, avec pas de valeurs null. J'ai donc créé un tableau appelé full_tasks pour tous les éléments qui ne sont pas nulles:

for (Assignment task: tasks) {
    if (task != null) {
        realLength += 1;
    }
}

Assignment[] full_tasks = new Assignment[realLength];

for (int i=0; i <= full_tasks.length - 1; i++) {
        full_tasks[i] = new Assignment(tasks[i].name, tasks[i].days_due, tasks[i].time);
}

Alors maintenant, la full_tasks tableau doit être un tableau de toutes les tâches, qui sont nulles, non? Cependant, lorsque je lance l'application, il ne peut pas lancer l'activité, une erreur qu'il dit est causée par une exception de pointeur null:

 Caused by: java.lang.NullPointerException: Attempt to read from field 'java.lang.String com.example.lb.homeworkappv11.Assignment.name' on a null object reference
        at com.example.lb.homeworkappv11.Schedule.sortTasks(Schedule.java:64)

La ligne que l'erreur est:

full_tasks[i] = new Assignment(tasks[i].name, tasks[i].days_due, tasks[i].time);

Je ne suis pas encore totalement sûr de ce qu'un objet nul de référence est, mais je pense que cela signifie que l'un des éléments dans la full_tasks tableau est null. Serait-ce correct? Et si c'est ce que je peux faire pour vous assurer que le full_tasks tableau est seulement la non-null éléments dans le tasks tableau?

Merci beaucoup!

Edit: la fonction constructeur de la classe d'assignation est:

public Assignment(String name, int days, int time) {
    this.name = name;
    this.days_due = days;
    this.time = time;
    this.toSortBy = "nothing";
}
Votre "nom" variable à l'intérieur de la Cession est nulle. Pouvez-vous poster le code du constructeur, vous utilisez?
J'ai ajouté le code ci-dessus
Vérifier ma réponse.

OriginalL'auteur Lucas B | 2015-08-29