본문 바로가기
반응형

orElse2

Optional – orElse() 와 orElseGet() 이전 포스팅에서 Optional 에 대한 내용을 다룬적이 있다. 자세한 내용은 아래 참고 포스팅 참고 바란다. Optional 은 결국엔 NPE 를 해결하기 위해서 생겨났고, 만약 Null일 경우엔 default 값을 넣어줄수 있는 개념으로 만들어진 함수가 바로 이 orElse / orElseGet 이다. 결국 둘다 null일때 default 를 받을건데 둘의 차이는 어떤것인지 확인해보면 orElse() : T 클래스를 인수로 받음 orElseGet() : T 클래스를 상속받은 하위 클래스를 return해주는 Supplier 함수 인터페이스를 받음 좀더 이해하기 쉽게 예시를 들어서 설명하면 다음과 같다. orElse Optional text = "a"; Sting bb = text.orElse(testM.. 2023. 6. 16.
Optional 이란? 지난 포스팅에서 dto 변수의 null 에 대한 포스팅을 다뤄본적이 있다. 관련 내용은 아래 참고 포스팅에 존재한다. 하지만 변수가 null이 아니라 dto 자체가 예를들어 쿼리의 결과가 없어서 dto 자체가 null이 될 경우가 있다. 물론 이럴경우는 전처리에서 if (dto ==null){ 으로 하면서 return 을 시켜주거나 혹은 초기값 설정등으로 처리할수 있지만 null을 미리 체크를 해볼수가 있다. 그때 사용하는것이 Optional이다. Rest를 사용할 경우에를 예로 들어보면 repository 에서 받을때 ExampleDto findById(String id); 이렇게 findById 에 대한 변수 결과를 받는것이 아니라. Optional findById(String id); 이런 식으로 .. 2022. 8. 23.
반응형