
아래는 DB에 저장된 게시글을 다 꺼내서 List로 조회하는 로직이다. 이것을 스트림을 이용하면 단 3줄로 줄일 수 가 있다. 위 코드에서는 스트림의 map과 collect, 람다의 메서드참조를 사용하였다. 어떻게 첫번째 사진이 두번째 사진으로 될 수 있는지 파헤쳐보자. stream 먼저 boardRepository.findAll()은 DB에 있는 게시글들을 List형태로 리턴해준다. 여기에 .stream()을 붙여서 스트림을 얻었다. 이렇게 게시글 리스트에다가 stream 메서드를 호출함으로써 map, filter, limit, collect 등 데이터 처리 연산을 할 수 있게 된다. map 람다를 이용해서 한 요소를 다른 요소로 변환하거나 정보를 추출해준다. 위 코드에서는 람다의 메서드 참조를 이용해..

1. 사람들이 Optional 쓰는 방법 Optional이 나온 이유부터 알아보자. 이유를 모르고 쓰는 사람들은 이렇게 말한다. "null을 반환하면 그 무서운 NPE가 뜨기 때문에, Optional로 null을 가지는 변수, 또는 객체를 Optional로 묶어요. 그럼 NPE가 안떠요" 자바로 개발하면서 한 번이라도 NullPointerException을 겪은 사람은 손을 들어보자. NPE는 다양한 예외 중에서도 가장 악질로 유명한 예외이다. 그렇기에 NPE를 피하기 위해서 Optional을 사용하는 사람은 드물지 않을 것이다. 하지만 당연히 Optional이 나온 이유는 NPE를 피하기 위함이 아니다. 그럼 NPE가 얼마나 무섭길래 Optional을 쓰는 이유를 모르면서까지 Optional을 쓰며 피..
- Total
- Today
- Yesterday