2015-04-25 7 views
1

Я пытаюсь добавить объекты в ArrayList из другого файла, но я получаю java.lang.NullPointerException, хотя я инициализировал ArrayList. Вот пример кода со структурой, о которой я говорю.Добавление объектов в ArrayList из другого класса

//ObjectOne.java 

import java.util.ArrayList; 

public class ObjectOne { 

    public InnerClass inner; 

    class InnerClass { 

     ArrayList<String> list = new ArrayList<String>(); 

     public void addString(String str) { 
      list.add(str); 
     } 

    } 

    public void addStr(String str) { 
     inner.list.add(str); 
    } 


} 

Вот второй файл:

//ObjectTwo.java 
public class ObjectTwo { 

    public static void main(String args[]) { 
     ObjectOne obj = new ObjectOne(); 
     obj.addStr("Test string added"); 
    } 

} 

Я инициализируется ArrayList в InnerClass, но когда я пытаюсь добавить элемент в другом файле Java я получаю NullPointerException. Причина в том, что у меня есть эта файловая структура, потому что я работаю с GSON. Почему ArrayList list действует так, как будто он никогда не инициализировался? Моя цель - добавить объекты в список из другого java-файла.

+2

Подсказка: это не список *, это 'null'. Это ваша ссылка * на этот список. – Makoto

ответ

1

Вы не создали экземпляр внутреннего класса в родительском классе, только создали ссылку для него.

public InnerClass inner = new InnerClass(); // add the new here 
+0

Спасибо! Не могу поверить, что я пропустил это ... –

Смежные вопросы