【问题标题】:How to use instanceof in Java?如何在 Java 中使用 instanceof?
【发布时间】: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) {

            }
        }
    }

【问题讨论】:

标签: java oop for-loop instanceof


【解决方案1】:

instanceof 是一个非常特别的东西,它与 typesinheritance 有关。查看Java documentation

对于您的情况,您希望将字符串 temp 与字符串 "BiologyLab" 进行比较。只需使用

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

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

【讨论】:

    猜你喜欢
    • 2016-03-18
    • 2011-11-23
    • 2011-09-03
    • 2013-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-24
    • 1970-01-01
    相关资源
    最近更新 更多