Java 8 User 类实例比较:使用 equals() 和 == 运算符
下面是一个使用 Java 8 的 User 类的例子,其中创建了两个不同的实例,并比较了它们的不同值:
import java.util.Objects;
public class User {
private String name;
private int age;
public User(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
User user = (User) o;
return age == user.age &&
Objects.equals(name, user.name);
}
public int hashCode() {
return Objects.hash(name, age);
}
public static void main(String[] args) {
User user1 = new User("John", 25);
User user2 = new User("Jane", 30);
boolean nameEquals = Objects.equals(user1.getName(), user2.getName());
boolean ageEquals = user1.getAge() == user2.getAge();
System.out.println("Names are equal: " + nameEquals);
System.out.println("Ages are equal: " + ageEquals);
}
}
在这个例子中,我们创建了两个 User 实例:user1 和 user2。然后,我们使用 Objects.equals() 方法比较它们的 name 属性是否相等,使用 == 运算符比较它们的 age 属性是否相等。
最后,我们打印出比较的结果。这个例子输出:
Names are equal: false
Ages are equal: false
这是因为 user1 和 user2 的 name 和 age 属性都是不相同的。
原文地址: https://www.cveoy.top/t/topic/qc89 著作权归作者所有。请勿转载和采集!