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

equals方法重写

时间:2017-05-23 16:59:08      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:boolean   turn   重写   his   简介   logs   public   方法重写   方法   

在java中常见的equals方法的重写:

举例:一个自定义类ball如下

public class Ball {
    private String name;
    private int weight;
    
    public Ball(String name,int weight){
      this.name = name;
      this.weight = weight;
    }
}

我们可以这样重写equals方法:

 public boolean equals(Object obj){
        if(obj == null){
            return false;
        }else{
            if(obj instanceof Ball){
                Ball ball = (Ball)obj;
                if(this.name == ball.name&&this.weight==ball.weight){
                    return true;
                }
            }
            
        }
        return false;
    }

另有更简介方法如下:


 public boolean equals(Object obj){
            if(obj instanceof Ball){
                Ball ball = (Ball)obj;
                return this.name==ball.name&&this.weight==ball.weight)
            else{
                        return super.equals(obj);
          }
    }
 

更严谨的写法:

 public boolean equals(Object obj){
            if(obj instanceof Ball){
                Ball ball = (Ball)obj;
                return    this.name.equals(obj.name)&&
                              this.weight.equals(ball.weight);
            else{
                        return super.equals(obj);
          }
    }

相比较上面两种,第三种更为严谨。

equals方法重写

标签:boolean   turn   重写   his   简介   logs   public   方法重写   方法   

原文地址:http://www.cnblogs.com/angangxiaofa/p/6894810.html

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