首页 > 其他 > 详细

2)==和equals

时间:2014-11-17 17:36:13      阅读:299      评论:0      收藏:0      [点我收藏+]

==和equals
 
1.如果比较对象是值变量:只用==
 
2.如果比较对象是引用型变量:
     ==:比较两个引用是不是指向同一个对象实例。
     equals:
            首先Object类中equals的实现是直接调用了==操作。
            一个自定义类继承自Object且没有重写equals方法,那么其equals操作也是与Object类一样,仅仅是直接调用==操作。
            如果一个类重写过equals方法(或者继承自一个重写过equals方法的类),那么效果与==操作不同
    
     如果是你自己定义的一个类,比较自定义类用equals和==是一样的,都是比较句柄地址, 因为自定义的类是继承于object,而object中的equals就是用==来实现的。
 
     API里的类大部分都重写了equals方法。例如String类
          String类型(String本身就是一个类):
               ==:比较两个str是否是指向同一个对象实例。
               equals:比较两个str中的内容是否相同
 
     检查两个引用型变量是否属于同一个Class:instanceof
          System.out.println((obj1 instanceof Student) && (obj2 instanceof Student)) 

2)==和equals

原文:http://www.cnblogs.com/weilf/p/4103941.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!