java.util<&燃气轮机;无法将哈希集转换为布尔值
我在这个代码中有一个错误java.util<&燃气轮机;无法将哈希集转换为布尔值,java,boolean,Java,Boolean,我在这个代码中有一个错误 public Hotel() { occupiedRooms = new HashSet<Room>(); PapersOrdered = new HashMap <String,ArrayList<String>>(); } public String getGuest(String roomNo) { for (Room room; occupiedRooms;) { if(
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" ;
}
}
公共酒店()
{
occupiedRooms=新哈希集();
PapersOrdered=newhashmap();
}
公共字符串getGuest(字符串roomNo)
{
用于(房间;占用房间;)
{
如果(room.getRoomNo()等于(roomNo))返回房间;getGuest();
返回“房间”+房间号+“未占用”;
}
}
被占用的房间会收到一个错误,表示java.util.Hashset无法转换为布尔值,
纠正这个问题的最佳方法是什么?(所有代码不在这里,但相关的) < P>是的,<代码> HasSET 不是布尔值,不能转换为布尔值,而正则for循环在中间段(布尔值表达式)中确定布尔表达式(决定循环终止的时间段)。p> 如果要迭代集合中的所有值,可以使用增强的for循环:
for (Room room : occupiedRooms)
{
if(room.getRoomNo().equals(roomNo))
return room;
getGuest();
return "room " + roomNo + " is not occupied" ;
}
但是,不确定for循环有多大意义,因为它总是在测试第一个房间后返回一些内容,因此不会检查剩余的房间。没有参数的getGuest()
调用有什么用?你也许可以摆脱它。您可能还希望在for
循环之外返回故障,而不是在循环中。