此运算符仅用于对象引用变量。 运算符检查对象是否属于特定类型(类类型或接口类型)。
如果操作符左侧的变量引用的对象是右侧的类/接口类型,则结果为真。 以下是一个例子:
public class HelloWorld { public static void main(String[] args) { String name = "glj"; // 当 name 的类型是 String 时,则返回为:true boolean result = name instanceof String; System.out.println(result); } }
如果要比较的对象与右侧类型兼容,则此运算符仍将返回true。 以下是一个例子:
class Super {} public class Sub extends Super { public static void main(String args[]) { Super super = new Sub(); boolean result = super instanceof Sub; System.out.println(result); } }