Java

<JAVA> Optional객체

Mulenga 2023. 4. 20. 07:16
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