重写实体类的equals和hashcode方法来判断对象唯一
一、介绍
简介:在日常项目开发中,我们需要判断实体类对象是否相等,或者需要将实体类对象存储到集合Set中以便去掉重复的对象,这时我们需要根据自己项目需求根据实体类具体的属性进行实体类hashcode和equals方法的重写。
案例:
在实体类QuestionCharpterDto中,我需要根据章节id和章节类型来进行实体类唯一对象判断,直接通过开发软件生成该实体类的hashcode和equals方法。
public class QuestionCharpterDto implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* 商品id
*/
private Integer goodsId;
/**
* 商品题库id
*/
private Integer qbid;
/**
* 商品题库章节id
*/
private Integer charpterId;
/**
* 商品题库章节类型
*/
private Integer charpterType;
/**
* 商品题库章节名称
*/
private String charpterTitle;
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != ())
return false;
QuestionCharpterDto other = (QuestionCharpterDto) obj;
if (charpterId == null) {
if ( != null)
return false;
} else if (!())
return false;
if (charpterType == null) {
if ( != null)
return false;
} else if (!())
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((charpterId == null) ? 0 : ());
result = prime * result + ((charpterType == null) ? 0 : ());
return result;
}
}