isAssignableFrom
示例:Class1.isAssignableFrom(Class2)
解释:① 判断Class1和Class2是否相同。
System.out.println(Object.class.isAssignableFrom(Object.class)); // true
②Class1是否是Class2的父类或者接口。
System.out.println(Object.class.isAssignableFrom(String.class)); // true
System.out.println("Object类是String 类的父类:"+
Object.class.isAssignableFrom(String.class));//true
System.out.println("AbstractList类是ArrayList 类的父类:"+
AbstractList.class.isAssignableFrom(new ArrayList<>().getClass()));//true
System.out.println("List接口是ArrayList 类的父类:"+
List.class.isAssignableFrom(new ArrayList<>().getClass()));//true
System.out.println("List接口是AbstractList 接口(抽象类)的父接口:"+
List.class.isAssignableFrom(AbstractList.class));//true
根据ArrayList,AbstractList,List的关系判断,isAssignableFrom 也可以判断class1是否是class2的父接口(抽象类)
instanceof
示例:object instanceof TypeName
解释:判断一个对象实例是否是一个类或接口的或其子类子接口的实例。
public void testInstanceOf1() {
String ss = "";
System.out.println(ss instanceof Object); // true
System.out.println(ss instanceof java.lang.String); // true
ArrayList<String>array=new ArrayList<>();
System.out.println(array instanceof java.util.List); // true
}
以上作为日常笔记记录.over
来源:oschina
链接:https://my.oschina.net/u/3406827/blog/1788706