使用 instanceof 时不兼容的条件操作数类型 double 和 double Java(16777232)

Incompatible conditional operand types double and double Java(16777232) when using instanceof

我一直在从事个人 Java 项目,该项目本质上是在模仿交易通用回溯测试电子表格。在一行中使用多个 instanceof 运算符之前,一切都很好。我在网上看了看,但无济于事,没有发现任何相关内容。我在比较 double 类型和 int 时收到不兼容的条件操作数,但是字符串没问题。我使用的编辑器是VSCode。代码如下

            while (newLogBool){
            Scanner newLog = new Scanner(System.in);
            String nLPair = newLog.nextLine();
            double nLStartingBalance = newLog.nextDouble();
            int nLRisk = newLog.nextInt();

            try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); }

            if ((nLPair instanceof String) && (nLStartingBalance instanceof double) && (nLRisk instanceof int)){
                Logger logger = new Logger(nLPair, nLStartingBalance, nLRisk);
                newLogBool = false;
            } else {
                System.out.println("Inccorect Type: Pair, Starting Balance or Risk. Please try again.");
            }
        }

谢谢

instanceof 运算符只能应用于引用类型(或 null)。 doubleint 是原始类型,不是引用类型。

Java Language Specification, 15.20.02

例如,在您的情况下,intint 的一个实例,否则不能。所以没有必要问那个特定的问题。