"list::add"대신 "Streams"과 "collect"을 사용해야 합니다

 

Stream을 사용하시면 forEach(list::add)collect를 사용할 수 있지만, collect를 사용하는게 병렬화 가능하고 thread-safe하기 때문에 더 좋습니다.

규칙을 어긴 코드

List<String> bookNames = new ArrayList<>();
books.stream().filter(book -> book.getIsbn().startsWith("0"))
  .map(Book::getTitle)
  .forEach(bookNames::add);  // 규칙을 어긴 코드

규칙을 준수한 해결책

List<String> bookNames = books.stream().filter(book -> book.getIsbn().startsWith("0"))
  .map(Book::getTitle)
  .collect(Collectors.toList());

If you like SONARKUBE, don’t forget to give me a star. :star2:

원문으로 바로가기

Star This Project