扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

java涓璭quals()鏂规硶鎬庝箞浣跨敤

扬州沐宇科技
2024-02-20 10:16:37
Java

鍦↗ava涓紝equals() 鏂规硶鐢ㄤ簬姣旇緝涓や釜瀵硅薄鏄惁鐩哥瓑銆俥quals() 鏂规硶鏄疧bject绫荤殑鏂规硶锛屾墍鏈夌殑绫婚兘缁ф壙鑷狾bject绫伙紝鍥犳鎵€鏈夌殑绫婚兘鍙互璋冪敤equals() 鏂规硶銆俥quals() 鏂规硶鐨勯粯璁ゅ疄鐜版槸姣旇緝涓や釜瀵硅薄鐨勫紩鐢ㄦ槸鍚︾浉绛夛紝鍗冲垽鏂袱涓璞℃槸鍚︽槸鍚屼竴涓璞°€?/p>

濡傛灉鎴戜滑鎯宠姣旇緝涓や釜瀵硅薄鐨勫唴瀹规槸鍚︾浉绛夛紝灏遍渶瑕侀噸鍐檈quals() 鏂规硶銆備竴鑸儏鍐典笅锛屾垜浠渶瑕佸湪鑷畾涔夌被涓噸鍐檈quals() 鏂规硶锛屼互瀹炵幇鑷畾涔夌殑瀵硅薄姣旇緝閫昏緫銆?/p>

閲嶅啓equals() 鏂规硶鐨勪竴鑸楠ゅ涓嬶細

  1. 鍒ゆ柇鍙傛暟鏄惁涓簄ull锛屽鏋滄槸null锛屽垯杩斿洖false銆?/li>
  2. 鍒ゆ柇瀵硅薄鏄惁涓哄悓涓€涓紩鐢紝濡傛灉鏄悓涓€涓紩鐢紝鍒欒繑鍥瀟rue銆?/li>
  3. 鍒ゆ柇瀵硅薄鏄惁涓哄悓涓€绫诲瀷锛屽鏋滀笉鏄悓涓€绫诲瀷锛屽垯杩斿洖false銆?/li>
  4. 灏嗗弬鏁板璞¤浆鎹负褰撳墠绫荤殑瀵硅薄銆?/li>
  5. 姣旇緝瀵硅薄鐨勬瘡涓睘鎬ф槸鍚︾浉绛夛紝濡傛灉鎵€鏈夊睘鎬ч兘鐩哥瓑锛屽垯杩斿洖true锛屽惁鍒欒繑鍥瀎alse銆?/li>

涓嬮潰鏄竴涓ず渚嬩唬鐮侊紝婕旂ず浜嗗浣曢噸鍐檈quals() 鏂规硶锛?/p>

public class Person {
    private String name;
    private int age;

    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }

        if (obj == null || getClass() != obj.getClass()) {
            return false;
        }

        Person person = (Person) obj;

        if (age != person.age) {
            return false;
        }

        return name.equals(person.name);
    }

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

        System.out.println(person1.equals(person2)); // 杈撳嚭涓簍rue
    }
}

鍦ㄤ笂闈㈢殑浠g爜涓紝鎴戜滑閲嶅啓浜哖erson绫荤殑equals() 鏂规硶锛屾瘮杈冧簡Person瀵硅薄鐨刵ame鍜宎ge灞炴€ф槸鍚︾浉绛夈€傚湪main鏂规硶涓紝鎴戜滑鍒涘缓浜嗕袱涓狿erson瀵硅薄锛屽畠浠殑name鍜宎ge灞炴€х浉绛夛紝鍥犳璋冪敤equals() 鏂规硶杩斿洖true銆?/p>

扫码添加客服微信