目录
第一题
题目要求
判断两个 Person 对象的内容是否相等, 如果两个 Person 对象的各个属性值都一样, 则返回 true, 反之 false。
我的代码
创建Person类
class Person {
private String name;
private int age;
private char gender;
public Person(String name, int age, char gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public char getGender() {
return gender;
}
public void setGender(char gender) {
this.gender = gender;
}
}
main类
package com.hspedu.object_;
public class EqualsExercise01 {
public static void main(String[] args) {
Person person = new Person("曹操", 61, '男');
Person person1 = new Person("曹操", 61, '男');
System.out.println(person == person1);
没有重写的时候都是比较地址,重写后才能比较内容
System.out.println(person.equals(person1));
}
}
结果
因为Person类中没有重写equals方法,所以比较的还是地址
重写equals
我用的是IDEA自带的Alt+Insert自动重写equals
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Person person =