java 5와 java8은 major release이다.
java 5에서 generic, concurrent, annotation, JMX, enum, boxing/unboxing, static import 등의 기능이 update되었다면
java8에서의 핵심update는 FP 이다. 참고사이트
1. <java.uitl.function 에 추가된 함수형 인터페이스>
- Function <T, R> - T를 입력으로 R을 출력으로 반환
- Predicate <T> - T를 입력으로 boolean을 출력으로 반환
- Consumer <T> - T를 입력으로 아무것도 반환하지 않는다
- Supplier <T> - 입력을 취하지 않고 T를 반환
- BinaryOperator <T> - 2 개의 T를 입력으로 하나의 T를 출력으로 반환
=> c++의 unary operator override수준이 아니라서 별로 쓸일 없어 보이지만..
minBy, maxBy는 사용하면 stream구문 없이 사용할 수 있어서 편할 듯 함.
REF
2. <java.util.stream>
- 배열,리스트,맵 등 Collection을 stream으로 다룰 수 있게 된다.
그리고
-interface에 abstract method뿐 아니라 body추가.
-OOM을 많이 유발하단 PermGen 이 사라짐.
- Date변환법이 좀 추가: LocalDateTime 과 Duration이 쓰기 좋겠네요. REF-SITE