【发布时间】:2019-03-28 00:10:43
【问题描述】:
所以我有一个带有房间的数组列表,我让用户将其放入他们正在寻找的房间,我将其捕获为字符串,然后尝试使用 instanceOf 将其与 java 类的名称匹配,但不能这样做是因为将字符串与 java 类进行比较。
此外,我还在 switch 语句中捕获了答案,以确保这些类拼写完美,什么不是。只是不知道如何到达 arrayList 并拉出他们正在寻找的类。
public static void serachRooms(ArrayList<Room> rooms) {
int option = 0;
String temp = "";
boolean flag = false;
do {
System.out.println("please Enter What room Type you would like:"
+ "\nNormal Room = 1"
+ "\nComputer Room = 2"
+ "\nBiology Lab = 3"
+ "\nBoard Room = 4"
+ "\nYou must choose one!");
option = input.nextInt();
if (option == 1 || option == 2 || option == 3 || option == 4) {
flag = true;
}
} while (!flag);
switch (option) {
case 1:
temp = "BiologyLab";
break;
case 2:
temp = "BoardRoom";
break;
case 3:
temp = "ComputerRoom";
break;
case 4:
temp = "Room";
break;
}
for (Room room : rooms) {
if (temp instanceof BiologyLab) {
}
}
}
【问题讨论】:
-
temp是String;不要使用instanceof。另外,不清楚为什么需要temp。 -
您可能想查看
instanceof的实际含义。看看stackoverflow.com/questions/7313559/… 或类似的。
标签: java oop for-loop instanceof