1. 操作对象
instanceof 操作是对象实例
[code="java"]List list = new ArrayList()[/code]
isAssignableFrom 操作的是class对象
[code="java"]List.class[/code]
2. 含义
[code="java"] A instanceof B[/code]
解析:
判断A 是否为B 的子类或实现了B的接口
A:为实例名 B:具体类名或接口
[code="java"]A.class.isAssignableFrom(B.getClass())[/code]
解析:
判断B是否为A的子类,或者B是否实现了A的接口
3. 测试:
[code="java"] public static void main(String[] args)
{
ArrayList<string> list = new ArrayList<string>();
System.out.println(list instanceof ArrayList);
System.out.println(list.getClass().isAssignableFrom(List.class));
System.out.println(List.class.isAssignableFrom(list.getClass()));
}[/code]
[code="java"]true
false
true[/code]
本质上没什么区别! </string></string>
instanceof 与isAssignableFrom的区别
最新推荐文章于 2023-06-02 09:47:04 发布
9475

被折叠的 条评论
为什么被折叠?



