如何在Java中使用instanceof?

问题描述 投票:-1回答:1

所以我有一个带有房间的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) {

            }
        }
    }
java oop for-loop instanceof
1个回答
1
投票

instanceof非常特别,与类型和继承有关。看看Java documentation

对于您的情况,您想要将String temp与String "BiologyLab"进行比较。只是用

if ("BiologyLab".equals(temp)) { 
    ...
}

并查看How To Compare Strings In Java了解更多信息。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.