关于自定义类的对比(equals()与hashcode()的复写),与clone()的使用

自定义类都继承自Object,所以在对比时需要复写equals和hashcode。

可以使用java7只java.util.objects;来实现复写,比手动写要轻松得多。

@Override
public boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof User)) {
return false;
}
User u = (User) obj;
return name == u.getName() && age == u.getAge();
}


@Override
public int hashCode() {
return Objects.hash(name, age);

}

对实体类实现Cloneable接口并实现clone()方法可以对其进行克隆,简单类型对象直接new会比克隆快10倍左右,而对复杂对象来说,克隆比new快近50倍

猜你喜欢

转载自blog.csdn.net/qq_37580283/article/details/80558983