java - 为什么instanceof不像听起来那样工作?

标签 java variables types reference

在 Java 中,如果比较 nullinstanceof 运算符只会返回 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/

相关文章:

java - GlassFish 4 替代文档不起作用

java - 如何导入我在 jython 中创建的 java 类并调用方法

python - 线程功能后文件路径未保存

ruby - 尝试使用 Ruby 中的字符串值引用哈希

types - 命名和未命名类型

c# - 如何从可空类型获取字符串表示形式?

c# - 使用包含 Type 的变量创建 Generic<T> 类型实例

java - Apache Ant : responding to prompt for password

java - 在 XML 中显示 Java 的设备名称 (Android Studio)

perl - 在一行 Perl 中执行多个 +=