2015-10-05 2 views
0

У меня возникли некоторые проблемы, пытаясь retrive свойства из ArrrayList в другом объекте ... Это идея:Как получить свойство объекта из ArrayList объектов

У меня есть класс Гость свойство String «имя»:

Guest guest01 = new Guest("Andrew"); 
Guest guest02 = new Guset("john"); 
ArrayList<Guest> list = new ArrayList(); 

И у меня есть класс бронирования с ArrayList гостей собственности:

Booking booking = new Booking(list); 

теперь я хочу, чтобы получить каждое имя, так что я уже судимое:

for(Guest guest : booking.getList()) 
{ 
    System.out.println(guest.getName()); 

} 

, а также судимое:

Iterator it=booking.getList().iterator(); 

    while(it.hasNext()){ 

    Object objet = it.next(); 
     Guest g = (Guest)objeto; 
     System.out.println(g.getDNI()); 

    } 

В обоих случаях я получаю: исключение в потоке "АВТ-EventQueue 0" java.lang.NullPointerException

Бронирование = новый Бронирование();

+1

Где именно вы получаете исключение? Отправьте полный стек. – Aurasphere

+0

Было бы неплохо увидеть класс бронирования, который вы передаете, убедитесь, что on booking.getList() возвращает то, что вы передаете ... (this.list = list in constructor) –

+0

Примечание: не используйте необработанные типы. Используйте 'new ArrayList <>()' - обратите внимание на '<>' перед круглыми скобками. – RealSkeptic

ответ

0

Я предполагаю, что Booking.getList() возвращает null. Вы использовали «это» в конструкторе, чтобы присвоить список полю?

public class Booking { 
    private List<Guest> list; 

    public Booking(List<Guest> list) { 
    this.list = list; // Using of this 
    } 

    public List<Guest> getList() { 
    return list; 
    } 
} 
+0

спасибо !! Я забыл ввести в конструкцию конструктора !! – Peyu

0

Можно ли увидеть, что происходит в классе бронирования? Лучший способ создания объекта - создать свойство с проверкой.

Хуже практика заключается в следующем:

Booking booking = new Booking(list); 

Хорошая практика:

Booking booking = new Booking(); 

booking.add(list); //in add method you should have validation,like instanceOf ... 

Try для отладки кода, и поделиться с нами результатом.

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