码迷,mamicode.com
首页 > 其他好文 > 详细

Object.equals() 方法

时间:2016-07-25 00:00:39      阅读:395      评论:0      收藏:0      [点我收藏+]

标签:

Object.equals() 方法:

 1 public class EqualsTest1 {
 2     public static void main(String[] args) {
 3         //Cat c1 = new Cat();
 4         //Cat c2 = new Cat();
 5         //System.out.println(c1 == c2);//result:false
 6         Cat c3 = new Cat(1,2,3);
 7         Cat c4 = new Cat(1,2,3);//在重写equals()方法之前的比较
 8         //System.out.println(c3.equals(c4));//result:false
 9         
10         System.out.println(c3.equals(c4));//result:true
11         
12     }    
13 }
14 
15 class Cat {
16     int color,height,weight;    
17     
18     Cat(int color,int height,int weight) {
19         this.color = color;
20         this.height = height;
21         this.weight = weight;
22     }
23     
24     public boolean equals(Object obj) {
25         if (obj instanceof Cat) {
26             Cat c = (Cat)obj;//转换成Cat对象
27             if (color == c.color & height == c.height & weight == c.weight) {
28                 return true;    
29             }    
30         }    
31         return false;
32     }
33 }
34 
35 /*
36 1.如果两个对象的引用直接用 == 号来比较,那么比较的是这个引用所指向的堆内存地址。
37 2.Object类包含了equals()方法,默认的比较方式是比较两个对象引用指向的堆内存地址,就是比较引用
38         的 ==。
39 3.我们定义一个类,一般需要重新定义它从Object类继承的equals()方法来正确的比较。否则是默认
40         的比较方法。
41 */

 

Object.equals() 方法

标签:

原文地址:http://www.cnblogs.com/yhwsy/p/5701778.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!