Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java equals函数

作者:偶然\寥寂り   发布日期:2025-10-15   浏览:41

public class EqualsExample {
    // 定义一个类,重写equals方法
    public static class Person {
        private String name;
        private int age;

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

        // 重写equals方法
        @Override
        public boolean equals(Object obj) {
            if (this == obj) {
                return true; // 如果是同一个对象,直接返回true
            }
            if (obj == null || getClass() != obj.getClass()) {
                return false; // 如果参数为null或者类型不匹配,返回false
            }
            Person person = (Person) obj;
            return age == person.age && (name != null ? name.equals(person.name) : person.name == null);
        }

        // 重写hashCode方法(通常与equals一起重写)
        @Override
        public int hashCode() {
            int result = name != null ? name.hashCode() : 0;
            result = 31 * result + age;
            return result;
        }
    }

    public static void main(String[] args) {
        Person person1 = new Person("Alice", 30);
        Person person2 = new Person("Alice", 30);
        Person person3 = new Person("Bob", 25);

        System.out.println(person1.equals(person2)); // 输出: true
        System.out.println(person1.equals(person3)); // 输出: false
    }
}

解释说明:

  1. equals 方法:在 Person 类中重写了 Object 类的 equals 方法。equals 方法用于比较两个对象是否相等。

    • 首先检查是否是同一个对象引用(this == obj)。
    • 然后检查传入的对象是否为 null 或者类型是否匹配(getClass() != obj.getClass())。
    • 最后比较对象的属性(nameage),确保它们相等。
  2. hashCode 方法:通常当重写 equals 方法时,也需要重写 hashCode 方法。hashCode 的作用是生成一个哈希值,用于哈希表(如 HashMapHashSet)中的快速查找。如果两个对象的 equals 返回 true,那么它们的 hashCode 必须相同。

  3. 测试代码:在 main 方法中创建了几个 Person 对象,并使用 equals 方法进行比较。

上一篇:java socket编程

下一篇:java override

大家都在看

java连接数据库的代码

java djl

ubuntu 卸载java

java读取excel中的图片

java新建

java sort用法

java collections.sort

java file类的方法

java发送qq邮件

java 判断

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站