Java Lombok | equals() 메소드와 hashCode() 메소드가 자동 - @EqualsAndHashCode

@EqualsAndHashCode

@EqualsAndHashCode 어노테이션을 선언하면, equals() 메소드와 hashCode() 메소드가 자동으로 생성된다.

  • 비교는 모든 필드가 각각 일치 여부에서 확인한다.
    • DDD으로 값 객체에서 사용할 수 있을 것 같다.
package com.devkuma.tutorial.lombok;

import lombok.EqualsAndHashCode;

import java.util.Arrays;
import java.util.List;

@EqualsAndHashCode
public class EqualsAndHashCodeTutorial {

    private int id = 100;
    private String value = "devkuma";
    private List<String> list = Arrays.asList("araikuma", "kimkc");

    public static void main(String[] args) {
        EqualsAndHashCodeTutorial a = new EqualsAndHashCodeTutorial();
        EqualsAndHashCodeTutorial b = new EqualsAndHashCodeTutorial();

        System.out.println("a.hash = " + a.hashCode());
        System.out.println("b.hash = " + b.hashCode());
        System.out.println(a.equals(b));
    }

}

실행 결과:

a.hash = -1469387943
b.hash = -1469387943
true



최종 수정 : 2024-01-18