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