59 lines
1.5 KiB
Java
59 lines
1.5 KiB
Java
package com.inmind.object01;
|
||
|
||
import java.util.Objects;
|
||
|
||
public class Person {//直接继承自Object
|
||
String name;
|
||
int age;
|
||
|
||
public Person() {
|
||
}
|
||
|
||
public Person(String name, int age) {
|
||
this.name = name;
|
||
this.age = age;
|
||
}
|
||
|
||
@Override
|
||
public String toString() {
|
||
return "Person{" +
|
||
"age=" + age +
|
||
", name='" + name + '\'' +
|
||
'}';
|
||
}
|
||
|
||
/*@Override
|
||
public boolean equals(Object obj) {
|
||
//我希望在Person比较时,只比较内容(姓名和年龄),而不是地址
|
||
//只要姓名和年龄是一致的,那就是同一个人
|
||
//先直接判断地址是否相同,如果地址相同,则认为内容相同
|
||
if (this == obj) {
|
||
return true;
|
||
}
|
||
//先判断类型,如果类型不一致,则认为内容不同
|
||
if (obj instanceof Person) {
|
||
//如果是同一个类型,则进行属性的比较
|
||
Person p2 = (Person) obj;
|
||
Person p1 = this;
|
||
*//*if (p1.name.equals(p2.name) && p1.age == p2.age) {
|
||
return true;
|
||
} else {
|
||
return false;
|
||
}*//*
|
||
return p1.name.equals(p2.name) && p1.age == p2.age;
|
||
} else {
|
||
return false;
|
||
}
|
||
|
||
}*/
|
||
|
||
@Override
|
||
public boolean equals(Object o) {
|
||
if (o == null || this.getClass() != o.getClass()) return false;
|
||
|
||
Person person = (Person) o;
|
||
return age == person.age && Objects.equals(name, person.name);
|
||
}
|
||
|
||
}
|