所以我有一个带有房间的arrayList,我正在让用户放入他们正在寻找的房间,我将其捕获为一个字符串,然后尝试使用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) {
}
}
}
instanceof
非常特别,与类型和继承有关。看看Java documentation。
对于您的情况,您想要将String temp
与String "BiologyLab"
进行比较。只是用
if ("BiologyLab".equals(temp)) {
...
}
并查看How To Compare Strings In Java了解更多信息。