Optional에 대한 개념이 머릿속에 확실히 적립되지 않아 정리해보고자 한다.
먼저 Optional 클래스는 어떤 클래스일까?
Optional 클래스는 Java8부터 도입된 클래스로 값이 null 값인지 아닌지 분명하게 다루기 위해 사용한다. 그래서 값이 없을 수 있는 상황 해서 NullPointerException을 방지해 주어 더 안전하게 코드를 작성할 수 있게 도와준다.
또한 값이 없을 때 기본 값을 설정하거나 다른 동작을 수행하는 유연성도 제공해 준다.
이렇게 유용한 Optional 클래스가 제공하는 주요한 메서드들을 알아보자!
1. .of(값);
주어진 값으로 Optional 객체를 생성해 준다.
Optional<String> optional = Optional.of("값");
2. .ofNullable(값);
주어진 값이 null이 아니면 해당 값으로 Optional을 생성하고, null이면 빈 Optional을 반환한다.
Optional<String> optional = Optional.ofNullable(값);
3. .isPresent();
값이 존재하는지 여부를 확인해서 존재하면 true, 아니면 false를 반환한다.
boolean isPresent = optional.isPresent();
4. ifPresent(값 -> );
값이 존재할 때 지정된 동작을 실행한다.
optional.ifPresent(값 -> System.out.println("존재하는 값: " + 값));
5. .get();
Optional에 값을 포함하고 있으면 해당 값을 반환하고 없다면 NoSuchElementException을 던진다. 때문에 이 메서드를 사용하기 전에 .isPresent()로 값의 존재여부를 먼저 확인하는 게 좋다.
String 값 = optional.get();
6. .orElse();
값이 존재하면 해당 값을 반환하고, 값이 없으면 지정된 기본 값을 반환한다.
String result = optional.orElse("기본 값");
7. .orElseGet(() -> "기본 값");
값이 존재하면 해당 값을 반환하고, 없으면 지정된 기본 값을 가져와 반환한다. 아래 코드에서는 "null이 될 수도 있는 값"이 null이라면 "기본 값"이 반환된다.
Optional<String> optional = Optional.ofNullable(null이 될 수도 있는 값);
String result = optional.orElseGet(() -> "기본 값");
8. .orElseThrow(() -> );
값이 존재하면 해당 값을 반환하고, 없으면 지정된 예외를 던진다.
String result = optional.orElseThrow(() -> new IllegalStateException("값이 존재하지 않습니다."));
위 사항들은 초보 개발자가 머릿속에서 명확하지 않은 개념을 잡기 위해 혼자 공부하며 적은 글로 틀린 부분이 있을 수 있으므로 혹시나 맞지 않는 정보가 있을 시 가르쳐 주시면 수정하고 배우도록 하겠습니다 :)
'Study > Back' 카테고리의 다른 글
2023.Dec.26.Tue [Java] JPA와 Mybatis의 차이 (1) | 2023.12.26 |
---|---|
2023.Dec.24.Sun [Spring] Annotation 어노테이션 (2) | 2023.12.24 |
Oct.20.Fri.2023 Java 수업 34일차 sc.next(); 와 sc.nextLine(); (7) | 2023.10.20 |
Sep.21.Thu.2023 Java 수업 19일차 JUnit (20) | 2023.09.21 |
Sep.20.Wed.2023 Java 수업 18일차 Network / TCP & UDP / Server Socket (55) | 2023.09.20 |