转自:http://blog.csdn.net/csdn1234/article/details/2563597
public boolean isAssignableFrom(Class<?> cls)
判定此 Class
对象所表示的类或接口与指定的 Class
参数所表示的类或接口是否相同,或是否是其超类或超接口。如果是则返回 true
,否则返回 false
。如果该 Class
表示一个基本类型,且指定的 Class
参数正是该 Class
对象,则该方法返回 true
,否则返回 false
。
特别地,通过身份转换或扩展引用转换,该方法能测试指定 Class
参数所表示的类型能否转换为此 Class
对象所表示的类型。
即A是否为B的父类或接口.
- if (List.class.isAssignableFrom(ArrayList.class)) {
- System.out.println("list is assignable from arraylist");
- }
- if (ArrayList.class.isAssignableFrom(List.class)) {
- System.out.println("arraylist is assignable from list");
- }
if (List.class.isAssignableFrom(ArrayList.class)) {
System.out.println("list is assignable from arraylist");
}
if (ArrayList.class.isAssignableFrom(List.class)) {
System.out.println("arraylist is assignable from list");
}
输出的结果是:list is assignable from arraylist