java - 在 Java 中,为什么 instanceof 是关键字而不是方法?

标签 java instanceof

在 Java 中,为什么 instanceof 是关键字而不是方法?

public static void main(String args[]) {
    Simple1 s = new Simple1();  
    System.out.println(s instanceof Simple); // true
}

最佳答案

好吧,方法Class.isInstance ...但基本上它是一个具有特定 VM 支持的较低级别的操作,因此成为运算符(operator)是有意义的。撇开其他不谈,实际上不需要获取 Class 引用来进行测试 - 字节码可以更有效地表示操作。

请注意,您可以对 很多 运算符进行相同的处理...为什么我们需要算术运算符而不是调用 int x = Integer.add(y, z); 例如?拥有运算符在便利性和性能(当然,智能 JIT 可以删除后者)方面都有好处。

关于java - 在 Java 中,为什么 instanceof 是关键字而不是方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33824234/

相关文章:

java - 有条件调用构造函数

java - InstanceOf 关键字在 Java 小程序中不起作用

java - 如何设置 VerticalFieldManager 和/或 Horizo​​ntalFieldManager 的背景透明度和颜色?

java - 如何知道apache tomcat 7.0是否启用了trace功能?

java - 将 Java 列表转换为 Javascript 数组

java - 方法中的参数从枚举请求常量 - 这些方法如何只接受特定常量?

java - 为 `File not found` 获取 `asset` 错误。怎么会这样?

java - enthuware OCAJP 实例

java - 对象通用父类(super class) java instanceof

Java - null instanceof Object 评估为真和假