JAVA Optional 클래스 사용법 공유

2451 단어
Optional 은 JAVA 에서 하나의 용기 류 로 정의 되 며, 더 정확히 말 하면 하나의 원소 만 저장 되 는 용기 입 니 다.
container object which may or may not contain a non-null value.
선택 클래스 구조 선택 속성
optional 클래스 에는 두 개의 속성 이 포함 되 어 있 습 니 다.
클래스 속성: EMPTY 대상 속성: value
EMPTY 속성 은 value 가 null 인 optional 대상 을 저장 하 는 데 사 용 됩 니 다.value 속성 은 비 null 대상 을 저장 하 는 데 사 용 됩 니 다.
옵션 방법
optional 은 두 가지 구조 방법 이 있 는데 모두 private 에 의 해 수식 된다.

private Optional() {
  this.value = null;
}
private Optional(T value) {
  this.value = Objects.requireNonNull(value);
}

EMPTY 를 초기 화 하 는 데 사용 되 는 무 참 구조 방법.비 null 대상 을 초기 화 하 는 데 사용 되 는 삼 구조 방법 이 있 습 니 다.
구조 방법 이 사유 로 수식 되 기 때문에 optional 이 실례 화 대상 을 클래스 방법 으로 만 호출 할 수 있 습 니 다.optional 은 세 가지 방법 을 제공 합 니 다.
empty: value 가 null 인 optional 대상 of: value 가 null 이 아 닌 optional 대상 of Nullable: value 의 값 은 매개 변수 가 null 인지 여부 에 따라 해당 하 는 optional 대상 을 되 돌려 줍 니 다.

public static Optional empty() {
  Optional t = (Optional) EMPTY;
  return t;
}

public static  Optional of(T value) {
  return new Optional<>(value);
}

public static  Optional ofNullable(T value) {
  return value == null ? empty() : of(value);
}

실례 방법 소개
방법.
매개 변수 유형
반환 형식
설명 하 다.
get
없다
T
value 는 null 로 NoSuchElement Exception 이상 을 던 집 니 다.
isPresent
없다
boolean
value 가 null 이면 false 로 돌아 갑 니 다.
ifPresent
Consumer super T>
void
optional 인 스 턴 스 가 값 이 있 으 면 consumer 를 호출 합 니 다. 그렇지 않 으 면 처리 하지 않 습 니 다.
filter
Predicate super T>
Optional
값 이 존재 하고 제 공 된 서술 어 를 만족 시 키 면 이 값 을 포함 한 optional 대상 을 되 돌려 줍 니 다.그렇지 않 으 면 빈 optional 대상 으로 돌아 갑 니 다.
map
Function super T, ? extends U>
Optional
값 이 존재 하면 이 값 에 제 공 된 mapping 함수 호출 을 실행 하고 optional 대상 으로 돌아 갑 니 다.
flatMap
Function super T, Optional>
Optional
값 이 존재 하면 이 값 에 제 공 된 mapping 함수 호출 을 실행 하고 비 null Optional 대상 으로 돌아 갑 니 다.
orElse
T
T
값 이 있 으 면 되 돌려 줍 니 다. 그렇지 않 으 면 기본 값 을 되 돌려 줍 니 다.
orElseGet
Supplier extends T>
T
값 이 있 으 면 되 돌려 줍 니 다. 그렇지 않 으 면 지정 한 Supplier 인터페이스 에서 생 성 된 값 을 되 돌려 줍 니 다.
orElseThrow
Supplier extends X>
값 이 있 으 면 되 돌려 줍 니 다. 그렇지 않 으 면 지정 한 Supplier 인터페이스 에서 생 성 된 이상 을 던 집 니 다.

좋은 웹페이지 즐겨찾기