optional
-
람다와 스트림 - Optional<T>백엔드/자바 2023. 4. 17. 00:38
그림 1과 같은 코드가 있다고 가정해보자. 만약 저 상태로 실행한다면 그림 2와 같은 결과를 확인할 수 있다. 변수 nul은 null을 가지고 있기 때문이다. 그렇다면 이 코드에서 NullPointException이 발생하지 않도록 해보자. 아주 간단하게 나타나면 위와 같은 코드로 나타낼 수 있을 것이다. 물론 이건 한줄짜리 코드라 간단해보이지만 코드가 길어진다면 null체크 코드만으로도 복잡해보일 것이다. 만약 이걸 더 깔끔하게 나타내려면 어떻게 해야할까? 바로 Optional 클래스를 사용해주면 된다. Optional는 지네릭 클래스로서 모든 타입의 참조 변수를 감싸는 래퍼 클래스다. 위의 코드에서 확인해보면 알겠지만 Optional 타입의 변수가 String타입의 변수를 저장한 것을 볼 수 있다. ..