instanceof运算符、Class的isInstance( )与isAssignableFrom

jonay 2009-04-20 09:01:35
请举例说明instanceof运算符、Class的isInstance( )与isAssignableFrom之间的区别,我怎么老觉得它们是一样的呢
...全文
1304 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
mdmd2222 2010-02-08
  • 打赏
  • 举报
回复
非常好!!!!
mengxing831122 2009-09-30
  • 打赏
  • 举报
回复
asasasasasahttp://wwq
jonay 2009-04-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sforiz 的回复:]
instanceof运算符 只被用于对象引用变量,检查左边的被测试对象 是不是 右边类或接口的 实例化。如果被测对象是null值,则测试结果总是false。
形象地:自身实例或子类实例 instanceof 自身类 返回true
例: String s=new String("javaisland");
System.out.println(s instanceof String); //true

Class类的isInstance(Object obj)方法,obj是被测试的对象,如果obj是调用这个方法的class或接口 的实例,则返回…
[/Quote]
谢谢,学习了
haoweishow01 2009-04-21
  • 打赏
  • 举报
回复
学习了。
sforiz 2009-04-20
  • 打赏
  • 举报
回复
instanceof运算符 只被用于对象引用变量,检查左边的被测试对象 是不是 右边类或接口的 实例化。如果被测对象是null值,则测试结果总是false。
形象地:自身实例或子类实例 instanceof 自身类 返回true
例: String s=new String("javaisland");
System.out.println(s instanceof String); //true

Class类的isInstance(Object obj)方法,obj是被测试的对象,如果obj是调用这个方法的class或接口 的实例,则返回true。这个方法是instanceof运算符的动态等价。
形象地:自身类.class.isInstance(自身实例或子类实例) 返回true
例:String s=new String("javaisland");
System.out.println(String.class.isInstance(s)); //true

Class类的isAssignableFrom(Class cls)方法,如果调用这个方法的class或接口 与 参数cls表示的类或接口相同,或者是参数cls表示的类或接口的父类,则返回true。
形象地:自身类.class.isAssignableFrom(自身类或子类.class) 返回true
例:System.out.println(ArrayList.class.isAssignableFrom(Object.class)); //false
System.out.println(Object.class.isAssignableFrom(ArrayList.class)); //true
kingssman 2009-04-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 YidingHe 的回复:]
功能上没有什么区别,但是适用范围不一样。instanceof 是全静态的,isInstance() 是半静态半动态的,isAssignableFrom 是全动态的。
[/Quote]

xue xi le , hehe
jonay 2009-04-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 YidingHe 的回复:]
功能上没有什么区别,但是适用范围不一样。instanceof 是全静态的,isInstance() 是半静态半动态的,isAssignableFrom 是全动态的。
[/Quote]
不明白,能举例解释一下么?
rumlee 2009-04-20
  • 打赏
  • 举报
回复
嗯,1楼说的很好,学习。
捏造的信仰 2009-04-20
  • 打赏
  • 举报
回复
功能上没有什么区别,但是适用范围不一样。instanceof 是全静态的,isInstance() 是半静态半动态的,isAssignableFrom 是全动态的。

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧