- instanceof 判断左边实例是否为右边类型的实例,右边类型包括实例的父类或接口
例如:
String s = "hello word"
System.out.println(s instanceof String);
System.out.println(s instanceof Object);
// true
// true
- isinstance 判断右边的实例是否为左边类型实例,左边类型包括右边实例类型的父类及接口
例如:
String s = "hello word"
System.out.println(String.class.isInstance(s));
System.out.println(Object.class.isInstance(s));
// true
// true
- isAssignableFrom 判断左边类型是否和右边类型相同或者右侧类型是否是为左侧类型的子类
例如:
System.out.println(Exception.class.isAssignableFrom(RuntimeException.class));
System.out.println(RuntimeException.class.isAssignableFrom(Exception.class));
// true
// false