首页 > 其他 > 详细

equals方法重写

时间:2017-05-23 16:55:38      阅读:407      评论:0      收藏:0      [点我收藏+]

在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方法重写

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

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