2013-03-21 3 views
0

Вот часть моего Собственность класс. Он не компилирует ошибки, но когда я пытаюсь работать с другими моими классами и вводить правильный ввод, он дает мне NPE в строке addElement() addOwner() ... и я понятия не имею, почему. OwnerParser не проблема, я точно знаю, и ни один вход. Я попробовал в меньшем проекте инициализировать вектор, затем перечислил его содержимое, и это дало мне и NPE. В основном мне нужно знать, как добавить новый объект Owner в OwnerList, не получив NullPointerException Спасибо.NPE при попытке addElement() для вектора

import java.util.*; 
    import java.io.*; 

    public class Ownership implements Serializable 
    { 
     private Vector<Owner> ownerList; 
     private Vector<Pet> petList; 

     public void Ownership() 
     { 
      ownerList = new Vector<Owner>(); 
      petList = new Vector<Pet>(); 
     } 

    public boolean addOwner(String b) 
     { 
     Owner r = new Owner(); 
     r = OwnerParser.parseStringToOwner(b); 
     ownerList.addElement(r); 
       return true; 
     } 
    } 
+0

При обсуждении исключений укажите трассировку трассировки стека. 'Owner r' может быть нулевым, или' ownerList' может быть 'null' в вашем случае. – Manuel

ответ

2

Ваш по умолчанию «Конструктор» имеет void возвращаемое значение, и, таким образом, не конструктор, но обычный метод, названный как конструктор. Следовательно, «конструктор» никогда не вызывается, и вектор никогда не инициализируется.

Сменить public void Ownership() {...} на public Ownership() {...} и он будет работать.

+0

Ну, я чувствую себя идиотом. Сейчас это прекрасно. Двойная ладонь для лица –

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