날아라쩡글이의 블로그입니다.
Optional 본문
728x90
반응형
자바에서 nullPointerException이 발생하는 것을 방지하기 위해서 만든 API이다.
- 자바 8에 도입된 API이다.
- nullPointerException을 피하기 위해서 null인지 아닌지 null을 검사하는 기능이 포함된 optional<T>가 추가되었다.
- optional<T>는 null이 될수도 있는 ㄱ밧을 값싸는 wapper클래스다.
- 주요API
- optional.of(T value)
- null아닌 값이 저장된 optional객체를 반환한다.
- optional.ofNullable(T value)
- null일수도있는 값이 저장된 optional객체를 반환한다.
- optional.empty()
- 아무값도 가지고 있지 않은 비어있는 optional객체를 반환한다.
- ifPresent()
- optional객체에 저장된 값이 존재하면 true, 없으면 false를 반환한다.
- get()
- optional객체에 저장된 값을 반환한다.
- orElse(T other)
- optional객체에 저장된 값이 존재하면 그 값을 반환하고, 값이 존재하지 않으면 인자로 전달된 값을 반환한다.
- orElseThrow(suppier exceptionSuppier)
- optional객체에 저장된 값이 존재하면 그 값을 반환하고, 값이 존재하지 않으면 인자로 전달된 예외를 발생시킨다.
- optional.of(T value)
- optional객체는 언제나 null이아니다.
@Controller
public class UserController{
@AutoWired UserService userService
@GETMappting("/user/{id}")
ReponseEntity<User>find(@pathVariable("id") String id) { //뒤의값을 읽어올때 pathVariable을 적는다.
oprional<User> optional = UserService.findUser(id);//저장된 User가 담긴 Optional객체획득
if(optional.isPresent()){ //true면 값이있다. 값이 있는지 확인하기
User user = optional.get();//optional객체 에서 값꺼내기
return ResponseEnfity<>(User.HttpState.ok); //응답객체를 반환한다.
}
return new ResponseEnfity<>(HttpStats.Not_fount)// 404의 응답객체를 반환한다.
}
}
optional의 값을 꺼내려면 무조건 isPresent()후 get()으로 꺼내서 보내준다.
nullpointer의 예외가 적어ㅣㄴ다.
반응형
'중앙 HTA (2106기) story > java API story' 카테고리의 다른 글
Stream메소드 사용법 (자바 8버젼이상) (0) | 2022.01.03 |
---|---|
I/O(Data, Object)와 직렬화 (0) | 2021.10.18 |
I/O (0) | 2021.10.14 |
사용자 정의 예외 처리 , 앞으로 코딩 작성 방법(맨 밑) (0) | 2021.10.13 |
Formating (포맷팅) (0) | 2021.10.08 |
Comments