在 Java 中,如果比较 null
,instanceof
运算符只会返回 false
。如果测试的引用变量不属于所需类型,则程序将无法编译。
该运算符是否仅有效地测试引用是否为 null
?或者还有其他我没有想到的用途吗?
如果不是,为什么不将其称为 isNull
或更具描述性的名称?
最佳答案
我不确定您是如何得出结论的,但是当第一个操作数的运行时类型与类型不匹配时,instanceof
操作将导致 false
由第二个操作数指定。
例如,
Object t1 = "Hello, World!";
System.out.println(t1 instanceof Number);
... 打印“false”,因为 t1 是一个 String
,而不是 Number
或其子类之一。
您能否提供无法编译的 instanceof
操作示例?这很可能是由于语法错误造成的。
关于java - 为什么instanceof不像听起来那样工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8302319/