下面是一个使用 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 属性都是不相同的。

Java 8 User 类实例比较:使用 equals() 和 == 运算符

原文地址: https://www.cveoy.top/t/topic/qc89 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录