Files
javaSE-0419/javaSE-day01/src/com/inmind/object01/Person.java

59 lines
1.5 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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);
}
}