import java.util.Objects; public class Person { private String name; private int age; public Person() { } public Person(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 String toString() { return "Person{" + "name='" + name + '\'' + ", age=" + age + '}'; } //hashCode和equals进行name的比较就好了 @Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof Person)) return false; Person person = (Person) o; return person.name.equals(this.name); } @Override public int hashCode() { return Objects.hash(getName()); } }
时间: 2024-02-14 20:21:07 浏览: 77
java代码-实训4-3 import java.util.Scanner
这是一个 Java 类,名为 Person,有两个属性,分别为 name 和 age,以及它们各自的 getter 和 setter 方法。此外还有一个默认构造方法和一个带有两个参数的构造方法。
在该类中,还重写了 toString()、equals() 和 hashCode() 方法,其中 equals() 方法进行了 name 的比较,hashCode() 方法根据 name 生成了哈希值。这些方法的重写是为了方便在集合中使用该类的实例。
阅读全文