Java class的isAssignableFrom方法怎么用
如判断一个类,是否是List或其超类或超接口是否是List.
public boolean isAssignableFrom(Class<?> cls)
判定此 Class
对象所表示的类或接口与指定的 Class
参数所表示的类或接口是否相同,或是否是其超类或超接口。如果是则返回 true
;否则返回 false
。如果该 Class
表示一个基本类型,且指定的 Class
参数正是该 Class
对象,则该方法返回 true
;否则返回 false
。
特别地,通过身份转换或扩展引用转换,此方法能测试指定 Class
参数所表示的类型能否转换为此 Class
对象所表示的类型。有关详细信息,请参阅 Java Language Specification 的第 5.1.1 和 5.1.4 节。
参数:
cls
- 要检查的 Class
对象
返回:
表明 cls
类型的对象能否赋予此类对象的 boolean
值
boolean f1 = List.class.isAssignableFrom(ArrayList.class); //true
boolean f2 = ArrayList.class.isAssignableFrom(List.class); //false
System.out.println(f1);
System.out.println(f2);