在 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/