如何从List - Beginner获取第一个元素

时间:2011-07-31 07:50:46

标签: java list linked-list

我有一个List <Hotel>对象,其中有1个元素。现在我需要打印存储在这个List对象中的所有值。

我尝试的代码如下;

List <Hotel> hotels;
... i have included the getters and setters for the above List of hotels

int x = getHotels.size(); 
System.outprintln("SIZE = "+ x + " hotel index 2 name " + getHotels.get(2).getHotelName());

当我执行程序时,会显示x值,但是当我添加getHotels.get(2).getHotelName()时,我会得到一个Nullpoint异常。我该如何解决这个问题。

3 个答案:

答案 0 :(得分:1)

这意味着索引2(第3个元素)的元素为null。迭代集合通常使用for-each循环完成:

for (Hotel hotel : hotels) {
   // do something with each hotel
}

答案 1 :(得分:1)

与许多其他事物一样,List中的列表是从零开始的。如果列表的大小为2,那么getHotels.get(0)getHotels.get(1)将返回列表中的第一个和第二个元素。

答案 2 :(得分:0)

取决于List实施,例如ArrayList允许null元素。

因此,列表中可能包含null个元素,即使它有10个成员 要卵形空指针异常,只需检查当前元素是否为空。

for (Hotel hotel: hotels) {
    if (hotel != null) {
        // do something
    }
}

另一个原因可能是您的hotel.getHotelName()返回null
确保您之前在索引2处设置了酒店名称。