java.util。<> Hashset无法转换为boolean

时间:2014-12-05 11:15:12

标签: java boolean

我在此代码中有错误

public Hotel()
{
    occupiedRooms = new HashSet<Room>();
    PapersOrdered = new HashMap <String,ArrayList<String>>();

}


 public String getGuest(String roomNo)
{
    for (Room room; occupiedRooms;)
    {
        if(room.getRoomNo().equals(roomNo))     return room; getGuest();
        return "room " + roomNo + " is not occupied" ;
    }
}

并且占用的房间收到错误说java.util。&lt;&gt; Hashset无法转换为布尔值, 什么是纠正这个问题的最佳方法。(所有代码都不在这里,只是相关内容)

1 个答案:

答案 0 :(得分:0)

是的,HashSet不是布尔值,不能转换为布尔值,而常规for循环需要中间部分的布尔表达式(确定循环何时终止的部分)。

如果要迭代集合中的所有值,可以使用增强的for循环:

for (Room room : occupiedRooms)
{
    if(room.getRoomNo().equals(roomNo))
        return room;
    getGuest();
    return "room " + roomNo + " is not occupied" ;
}

不确定你的for循环有多大意义,因为它会在第一次room测试后返回一些内容,因此不会检查其余的房间。