自動生成hashcode和equals方法

想不起来好名字發表於2024-03-12
右鍵一鍵生成import java.util.Objects;

public class Student {

private String name;
private int age;

public Student() {
}

public Student(String name, int age) {
this.name = name;
this.age = age;
}

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

@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Student student = (Student) o;
return age == student.age && Objects.equals(name, student.name);
}

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


import java.util.HashSet;
import java.util.LinkedList;
import java.util.Set;

public class Main {
public static void main(String[] args) {
HashSet <Student> h=new HashSet<Student>();
Student s1=new Student("庫裡",30);
Student s2=new Student("追夢",31);
Student s3=new Student("克萊",35);
Student s4=new Student("克萊",35);
h.add(s1);
h.add(s2);
h.add(s3);
h.add(s4);
for(Student s:h){
System.out.println("姓名"+s.getName()+"年齡"+s.getAge());

}
}
}



相關文章