728x90
최근 (3/19/2024) JDK22가 등장했다.
먼저 자바 8, 11, 17, 21부터 정리를 하고 22에 어떤 기능이 바뀌고 추가 되었는지 설명하겠다.
/* 자바 8 - 2014년 출시 */
- 람다 표현식 & Functional Interface
- 스트림 API
- 날짜와 시간 API (LocalDate, LocalDateTime, ...)
- Optional
- 인터페이스의 디폴트 메소드
/* 자바 11 - 2018년 출시 */
- Predicate
- String에 새로운 메소드 추가
- isBlank() : 문자열 비어있거나 공백만 포함했으면 true
- repeat(int n) : n개만큼 문자열 반복해서 붙여서 반환
- strip() : 문자열 앞, 뒤 공백 제거
- stripLeading() : 문자열 앞 공백 제거
- stripTrailing() : 문자열 뒤 공백 제거
- HTTP Client : Java 9 의 HTTP 클라이언트가 표준 기능이 되었고 1.1 , 2 버전 지원
/* 자바 17 - 2021년 출시 */
- record 클래스 : dto 생성 쉽다
- instanceof : 패턴 매칭
/* 자바 21- 2023년 출시 */
- 버츄얼스레드 (Virtual Thread)
- record 클래스 업그레이드
/* 자바 22- 2024년 출시 */
https://www.loicmathieu.fr/wordpress/en/informatique/java-22-quoi-de-neuf/ (해당 블로그 참고)
- stream의 gather()메서드 추가
- super() 메서드 실행 전 (위에) 코드 추가 가능
- ListFormat 컬렉션 추가 () : locale(상황)에 따른 포맷 가능 STANDARD, OR, UNIT, STANDARD 선택 가능
- Foreign Function & Memory API (프리뷰 단계)
- Unnamed Variables & Patterns (프리뷰 단계) : '_' 인 변수명 사용 가능
- ... 이외에도 많다
728x90
'자바' 카테고리의 다른 글
[JAVA] Arrays.sort Collections.sort 알고리즘 차이 (0) | 2024.03.22 |
---|---|
[JAVA] 깊은 복사(Deep Copy)와 얕은 복사(Shallow Copy) (0) | 2024.03.19 |
[Java] equals 와 hashCode - 객체 일 경우 (0) | 2024.03.17 |
[JAVA] 불변 객체 & 불변 클래스 (0) | 2024.03.13 |
[JAVA] 컬렉션 - LinkedList (0) | 2024.02.07 |