![](/img/trans.png)
[英]How to get a list of objects with same objects property from an ArrayList by
[英]How to get an Object property from an ArrayList of Objects
我在尝试从其他对象的ArrrayList检索属性时遇到了一些麻烦...这是个主意:
我有一个带有字符串“名称”属性的Guest类:
Guest guest01 = new Guest("Andrew");
Guest guest02 = new Guset("john");
ArrayList<Guest> list = new ArrayList();
而且我有一个Booking类,其中有一个ArrayList of Guest属性:
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());
}
在两种情况下,我都会得到:线程“ AWT-EventQueue-0”中的异常java.lang.NullPointerException
预订预订=新的Booking();
我假设Booking.getList()返回null。 您是否在构造函数中使用了“ this”来将列表分配给字段?
public class Booking {
private List<Guest> list;
public Booking(List<Guest> list) {
this.list = list; // Using of this
}
public List<Guest> getList() {
return list;
}
}
我们可以看到预订类中发生了什么吗? 创建对象的更好方法是通过验证创建属性。
更糟糕的做法是这样的:
Booking booking = new Booking(list);
好的做法是:
Booking booking = new Booking();
booking.add(list); //in add method you should have validation,like instanceOf ...
尝试调试您的代码,并与我们分享结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.