EEALL@ONCE

☕Optional.ofNullable(userName).orElse 본문

언어💻/자바☕

☕Optional.ofNullable(userName).orElse

올엣원스 2023. 8. 22. 13:27
728x90

- `Optional.ofNullable(변수)`: 변수의 값을 Optional로 감싸서 처리합니다. 값이 null이면 Optional.empty()가 생성되고, 값이 존재하면 해당 값을 감싼 Optional이 생성됩니다.
- `.orElse(대체값)`: Optional이 비어있을 경우 "대체 값"을 반환합니다.

 

예를 들어, 사용자 정보를 저장하는 데이터베이스가 있다고 가정해보겠습니다. 이때 사용자의 이름이나 나이 등 중 하나가 null일 수 있습니다. 이런 상황에서 해당 정보를 출력할 때 null인 경우 "정보 없음"이라는 문자열을 출력하고, 값이 있는 경우에는 해당 값을 출력하는 코드를 작성해보겠습니다.

String userName = getUserFromDatabase().getName(); // 데이터베이스로부터 사용자 이름을 얻어옴

String displayName = Optional.ofNullable(userName).orElse("정보 없음");
System.out.println("사용자 이름: " + displayName);



이 코드는 다음과 같이 작동합니다:

- `Optional.ofNullable(userName)`: `userName` 변수의 값을 Optional로 감싸서 처리합니다. 값이 null이면 Optional.empty()가 생성되고, 값이 존재하면 해당 값을 감싼 Optional이 생성됩니다.
- `.orElse("정보 없음")`: Optional이 비어있을 경우 "정보 없음"을 반환합니다. 즉, `userName`이 null일 경우 "정보 없음"으로 대체됩니다.


이렇게 함으로써, null인 경우와 값이 있는 경우를 간단하게 처리할 수 있습니다. 이 방식은 코드의 가독성을 높이고, 조건문과 값의 대체를 간단하게 처리하는 효율적인 방법입니다.

728x90

'언어💻 > 자바☕' 카테고리의 다른 글

☕캡슐화 (Encapsulation)란  (0) 2023.08.28
☕substring  (0) 2023.08.23
☕Java의 Map 인터페이스: entrySet  (1) 2023.08.21
☕Java의 Map 인터페이스 : getOrDefault  (0) 2023.08.21
☕toLowerCase/toUpperCase  (0) 2023.08.21