문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
java:lombok:pitfall [2017/07/05 19:55] kwon37xi [@ToString, @EqualsAndHashCode 필드명 지정시 오타 문제] |
java:lombok:pitfall [2018/06/26 14:05] kwon37xi [@ToString, @EqualsAndHashCode 필드명 지정시 오타 문제] |
||
---|---|---|---|
줄 37: | 줄 37: | ||
</ | </ | ||
- | 이 문제는 '' | + | 이 문제는 '' |
대신, 생성자를 (IDE 자동생성등으로) 직접 만들고 필요할 경우에는 직접 만든 생성자에 [[https:// | 대신, 생성자를 (IDE 자동생성등으로) 직접 만들고 필요할 경우에는 직접 만든 생성자에 [[https:// | ||
줄 164: | 줄 164: | ||
===== @ToString, @EqualsAndHashCode 필드명 지정시 오타 문제 ===== | ===== @ToString, @EqualsAndHashCode 필드명 지정시 오타 문제 ===== | ||
+ | |||
+ | **Lombok 1.18.0 부터 @ToString, @EqualsAndHashCode에 대해 필드, 혹은 메소드에 Include, Exclude 지정이 가능해졌다.** 따라서 아래 문제가 모두 해소 된다. | ||
+ | |||
[[https:// | [[https:// | ||
|@EqualsAndHashCode]]에서는 파라미터로 특정 필드를 지정해서 처리 대상에 포함시키거(**of**)나 제외(**exclude**)시킬 수 있다. | |@EqualsAndHashCode]]에서는 파라미터로 특정 필드를 지정해서 처리 대상에 포함시키거(**of**)나 제외(**exclude**)시킬 수 있다. | ||
줄 171: | 줄 174: | ||
현재 버전에서는 이를 error로 격상시킬 방법이 없다. 컴파일러 옵션 '' | 현재 버전에서는 이를 error로 격상시킬 방법이 없다. 컴파일러 옵션 '' | ||
- | 이 문제는 [[https:// | + | 이 문제는 [[https:// |
[[java: | [[java: | ||
줄 185: | 줄 188: | ||
예를들어, | 예를들어, | ||
+ | |||
+ | 억지로 사용할 경우 컴파일 오류가 발생한다. | ||
< | < | ||
줄 191: | 줄 196: | ||
lombok.value.flagUsage=error | lombok.value.flagUsage=error | ||
lombok.val.flagUsage=error | lombok.val.flagUsage=error | ||
+ | lombok.var.flagUsage=error | ||
lombok.nonNull.flagUsage=error | lombok.nonNull.flagUsage=error | ||
lombok.allArgsConstructor.flagUsage=error | lombok.allArgsConstructor.flagUsage=error | ||
lombok.requiredArgsConstructor.flagUsage=error | lombok.requiredArgsConstructor.flagUsage=error | ||
+ | lombok.cleanup.flagUsage=error | ||
+ | lombok.sneakyThrows.flagUsage=error | ||
+ | lombok.synchronized.flagUsage=error | ||
+ | # experimental 전체 금지 | ||
+ | lombok.experimental.flagUsage=error | ||
+ | |||
# 기타 각종 사용해서는 안되는 기능들을 모두 나열할 것. | # 기타 각종 사용해서는 안되는 기능들을 모두 나열할 것. | ||
</ | </ | ||
상세한 설정 옵션은 각 애노테이션 매뉴얼 페이지 하단에 자세히 나와 있다. | 상세한 설정 옵션은 각 애노테이션 매뉴얼 페이지 하단에 자세히 나와 있다. |