Lombok 어노테이션
@NonNull
null을 체크해준다.
@NonNull
변수 앞에 붙이면 자동으로 null-check를 해주며
해당 변수의 value가 null인 경우 NullPointerException
예외를 발생시킨다. 아래 공식 홈페이지 글을 읽어보자~
import lombok.NonNull;
public class NonNullExample extends Something {
private String name;
public NonNullExample(@NonNull Person person) {
super("Hello");
this.name = person.getName();
}
}
Lombok 사용 시
import lombok.NonNull;
public class NonNullExample extends Something {
private String name;
public NonNullExample(@NonNull Person person) {
super("Hello");
if (person == null) {
throw new NullPointerException("person is marked @NonNull but is null");
}
this.name = person.getName();
}
}
Vanilla Java
@NoArgsConstructor
매개변수가 없는 생성자를 생성한다.
fields(변수)
들이 final
로 선언된 경우 compiler error
가 발생한다. 이럴 경우 @NoArgsConstructor(force = true)로 선언한다. value = 0 / false / null로 초기화된다.
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.NonNull;
@RequiredArgsConstructor(staticName = "of")
@AllArgsConstructor(access = AccessLevel.PROTECTED)
public class ConstructorExample<T> {
private int x, y;
@NonNull private T description;
@NoArgsConstructor
public static class NoArgsExample {
@NonNull private String field;
}
}
fields(변수)
들이 final
로 선언된 경우 compiler error
가 발생한다. 이럴 경우 @NoArgsConstructor(force = true)로 선언한다. value = 0 / false / null로 초기화된다.
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.NonNull;
@RequiredArgsConstructor(staticName = "of")
@AllArgsConstructor(access = AccessLevel.PROTECTED)
public class ConstructorExample<T> {
private int x, y;
@NonNull private T description;
@NoArgsConstructor
public static class NoArgsExample {
@NonNull private String field;
}
}
With Lombok
public class ConstructorExample<T> {
private int x, y;
@NonNull private T description;
private ConstructorExample(T description) {
if (description == null) throw new NullPointerException("description");
this.description = description;
}
public static <T> ConstructorExample<T> of(T description) {
return new ConstructorExample<T>(description);
}
@java.beans.ConstructorProperties({"x", "y", "description"})
protected ConstructorExample(int x, int y, T description) {
if (description == null) throw new NullPointerException("description");
this.x = x;
this.y = y;
this.description = description;
}
public static class NoArgsExample {
@NonNull private String field;
public NoArgsExample() {
}
}
}
Vanilla Java
@RequiredArgsConstructor
초기화 되지 않은 final fields, @NonNull가 마크되어 있는 모든 field에 대한 생성자들을 자동으로 생성해주면 @NonNull가 마크되어 있으면 null-check까지 해준다.
@AllArgsConstructor
class의 모든 멤버 변수를 매개변수로 받는 생성자를 구현
Data
class 맴버 변수의 Getter/Setter 메서드를 구현해준다.
*** 해당 lombok어노테이션을 사용하거나 이클립스나 인텔리제이에서 지원하는 단축키를 사용해서 생성할 수도 있다.
아니면 직접 하나하나 코드를 작성하거나 ㅠㅜㅠ
Author And Source
이 문제에 관하여(Lombok 어노테이션), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@fsm13/Lombok-어노테이션저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)