TIL

2023-11-13 TIL(Optional)

우성팔 2023. 11. 13.

건강이 많이 호전이 돼서 다시 TIL을 작성해 보도록 하겠습니다!

 

2023-11-13 TIL(Optional)

 

 

강의를 듣는 도중 Optional에 대해 나와서 한번 알아보도록 시간을 가졌다

 

  • Optional<T> 클래스는 'T' 타입의 객체를 포장해 주는 Wrapper class이다
  • NullPointerException(NPE) 발생을 막아줌
  • Optional의 주요 아이디어는 존재할 수도 있고 없을 수도 있는 값을 나타내는 것

 

Optional 생성

  • 값이 null이 아닌 경우 of 메서드를 사용하여 Optional을 생성
String value = "Hello World!";
Optional<String> optional = Optional.of(value);

 

 

  • 값이 null 일 수 있는 경우 ofNullable을 사용하여 Optional을 생성
String nullableValue = null;
Optional<String> optionalNullable = Optional.ofNullable(nullableValue);

 

 

 

 

Optional 객체에 접근

  • orElse() : 저정된 값이 존재하면 그 값을 반환하고, 값이 존재하지 않으면 인수로 전달된 값을 반환
  • orElseGet() : 저정된 값이 존재하면 그 값을 반환하고, 값이 존재하지 않으면 인수로 전달된 람다표현식의 결과값을 반환
  • orElsetThrow() : 저정된 값이 존재하면 그 값을 반환하고, 값이 존재하지 않으면 인수로 전달된 예외를 발생

※ get()과 같은 메서드를 사용하여 Optional에서 값을 검색할 수 있지만 값이 없는 경우 NoSuchElementException이 발생할 수 있기 때문에 일반적으로 get()을 사용하는 것은 권장되지 않음

 

 

 

Optional  조건부 실행

  • isPresent() 메서드 : Optional 객체가 값을 가지고 있다면 true, 값이 없다면 false 리턴
  • ifPresent() 메서드 : Optional 객체가 값을 가지고 있으면 실행 값, 값을 가지고 있지 않으면 넘어감

'TIL' 카테고리의 다른 글

2023-11-15 TIL  (1) 2023.11.15
2023-11-14 TIL  (1) 2023.11.14
2023-10-27(프로그래머스)  (1) 2023.10.27
2023-10-26 TIL(프로그래머스)  (0) 2023.10.26
2023-10-25 TIL(객체 지향 프로그래밍의 특징, 프로그래머스)  (0) 2023.10.25

댓글