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

강의를 듣는 도중 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 |
댓글