分享

spring3 学习 isAssignableFrom 与 instanceof 的认识 ...

 勇敢的猪猪侠 2010-12-29

spring3 学习 isAssignableFrom 与 instanceof 的认识

文章分类:Java编程

instanceof 针对实例
isAssignableFrom针对class对象


isAssignableFrom   是用来判断一个类Class1和另一个类Class2是否相同或是另一个类的超类或接口。  
  通常调用格式是  
        Class1.isAssignableFrom(Class2)  
  调用者和参数都是   java.lang.Class   类型。  
     
  而   instanceof   是用来判断一个对象实例是否是一个类或接口的或其子类子接口的实例。  
    格式是:   oo   instanceof   TypeName    
            interImpl instanceof inter
    第一个参数是对象实例名,第二个参数是具体的类名或接口名,例如   String,InputStream。 


Java代码
public static void main(String[] args) throws Exception {  
    ArrayList list = new ArrayList();  
    System.out.println(list instanceof List);  
    System.out.println(list.getClass().isAssignableFrom(List.class));  
    System.out.println(List.class.isAssignableFrom(list.getClass()));  
      
     

public static void main(String[] args) throws Exception {
ArrayList list = new ArrayList();
System.out.println(list instanceof List);
System.out.println(list.getClass().isAssignableFrom(List.class));
System.out.println(List.class.isAssignableFrom(list.getClass()));


结果:
true
false
true

其中instanceof是子--》父
isAssignableFrom是夫--》子

我们应该尽量少用instanceof 运算符

应该尽量用多态来替代它

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多