equals方法重写
Posted 暗杠小发
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了equals方法重写相关的知识,希望对你有一定的参考价值。
在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方法重写的主要内容,如果未能解决你的问题,请参考以下文章