728x90
Java의 ‘Optional’객체는 ‘java.util.Optional’클래스를 사용하여 값을 포장하는 컨테이너이다. 이 클래스는 null값을 처리하는데 도움이 되며, NullPointerException을 방지하고 코드의 가독성을 높이는데 사용된다.
사용법
1.객체 생성
// 빈 Optional 객체 생성
Optional<String> emptyOptional = Optional.empty();
// Non-null 값으로 Optional 객체 생성
Optional<String> nonNullOptional = Optional.of("Hello");
// Null 값이 허용되는 Optional 객체 생성
Optional<String> nullableOptional = Optional.ofNullable(null);
2.값 가져오기
String defaultValue = "Default";
//값이 존재하면 가져오기, 없으면 기본값 반환
String value1 = nonNullOptional.orElse(defaultValue);
//값이 존재하면 가져오기, 없으면 Supplier에서 생성
String value2 = nullableOptional.orElseGet(() -> "Generated");
// 값이 존재하면 가져오기, 없으면 예외 발생
String value3 = nonNullOptional.orElseThrow(() -> new NoSuchElementException());
3.값 존재 여부 확인
// 값이 존재하는지 확인
boolean isPresent = nonNullOptional.isPresent();
// 값이 존재하지 않는지 확인
boolean isEmpty = nullableOptional.isEmpty();
4. 값 처리하기
// 값 변환하기
Optional<String> upperOptional = nonNullOptional.map(String::toUpperCase);
// 중첩 Optional 풀기
Optional<String> flatMappedOptional = nonNullOptional.flatMap(v -> Optional.of(v.toUpperCase()));
// 조건 필터링
Optional<String> filteredOptional = nonNullOptional.filter(v -> v.length() > 3);
5. 값이 존재할 경우 실행하기
nonNullOptional.ifPresent(value -> System.out.println("실행"));
'Java' 카테고리의 다른 글
<JAVA> 롬복(Lombok) 사용법 (0) | 2023.04.21 |
---|---|
<JAVA> LocalDateTime 사용법 (0) | 2023.04.13 |
Mockito란 무엇인가? (0) | 2023.03.02 |
JUnit5란 무엇인가? (0) | 2023.03.01 |
<JAVA> Stream sorted 메서드 (0) | 2023.01.24 |