- 객체 생성 : of(), ofNullable()
- 참조변수의 값이 null일 가능성이 있다면 ofNullable()을 사용
- of()는 매개변수의 값이 null일 경우 NPE를 발생시킨다.
- 값 초기화 : empty()
- null도 가능하지만, empty를 사용하는 것이 바람직하다
- 값 가져오기 : get(), orElse(), orElseGet(), orElseThrow()
- 값을 가져올때는 get()을 사용한다
- 값이 null일 때는 NoSuchElementException이 발생하며, 이를 대비하여 orElse()로 대체할 값을 지정할 수 있다.
- ex) opt.orElse(""); //값이 null일 경우 ()안의 값인 ""를 반환한다
- orElseGet() : null일 경우 대체할 값을 반환하는 람다식을 지정할 수 있다.
- ex) opt.erElseGet(String::new); //() -> new String(); 과 동일하다.
- orElseThrow() : null일 때 지정한 예외를 발생시킨다.
- ex) opt.orElseThrow(NullPoilnterException::new); //null일 경우 NPE 발생
- 각종 연산의 사용
- Stream처럼 Optional도 filter(), map(), flatMap()등 각종 연산을 사용할 수 있다.
- 만일 Optional 객체의 값이 null이면, 이 메서드들은 아무 일도 하지 않는다.
- Stream처럼 Optional도 filter(), map(), flatMap()등 각종 연산을 사용할 수 있다.
'programming > JAVA' 카테고리의 다른 글
java) comparable, comparator의 비교 (0) | 2024.12.04 |
---|---|
checked/unchecked Exception / @Transactional rollback (0) | 2023.05.06 |
[Java] 면접을 위한 Java 개념 정리 1탄 (0) | 2020.11.01 |
[JAVA] 면접 질문 중에서 - 객체 모델링에 관하여 (1)단순 모델링 (1) | 2020.04.27 |
[JAVA] 상속(Inheritance) 개념 정리 (0) | 2020.04.26 |
댓글