Java 21 Features With Example
Medium
이 문서에서는 JDK 21에 도입된 새로운 기능에 대한 개요를 제공합니다. 자세한 내용을 살펴보고 JDK 21의 흥미로운 발전에 대해 알아봅시다.
📌 String Templates (Preview)
자바에서 문자열 포맷 및 조작 과정을 단순화하는 것을 목표로 합니다. 이 기능을 통해 복잡한 문자열을 생성하고 포맷할 수 있습니다.
// As of Java 21
String productName = "Widget";
boolean productAvailable = true;
String productInfo = `Product: ${productName}
Availability: ${productAvailable ? "In Stock" : "Out of Stock"}`;
System.out.println(productInfo);
📌 Sequenced Collections
Sequenced Collection의 도입은 컬렉션 처리를 단순화하고 능률화하기 위한 새로운 인터페이스와 메서드를 제공합니다. 이 향상된 기능은 자바에서 컬렉션의 첫 번째 요소와 마지막 요소에 접근하는 기존의 번거로운 접근 방식을 해결하는 것을 목표로 합니다.
For List, Deque, Set
First Element — collection.getFirst()
Last Element — collection.getLast()
📌 Record Patterns
레코드 패턴으로 레코드 값을 재구성합니다. 레코드 패턴과 타입 패턴을 중첩시켜 복합적인 형태의 데이터 탐색 및 처리를 가능하게 합니다.
// As of Java 21
static void printSum(Object obj) {
if (obj instanceof Point(int x, int y)) {
System.out.println(x+y);
}
}
📌 Pattern Matching for switch
스위치 문에 대한 패턴 매칭으로 자바 언어를 업그레이드합니다. 여러 패터에 대해 식을 테스트 하여 복잡한 데이터 중심의 퀄를 간결하고 안전하게 표현이 가능합니다.
// As of Java 21
static String formatterPatternSwitch(Object obj) {
return switch (obj) {
case Integer i -> String.format("int %d", i);
case Long l -> String.format("long %d", l);
case Double d -> String.format("double %f", d);
case String s -> String.format("String %s", s);
default -> obj.toString();
};
}
다음 내용이 궁금하다면?
이미 회원이신가요?
2023년 10월 5일 오전 10:21
자바 스프링 개발자로서 글을 올려주시면 너무 기분좋고 반갑게 읽고 있습니다. 감사합니다!!😊
오
... 더 보기새
... 더 보기ChatGPT 사용할 때 어떤 모델을 선택해야할지 망설여집니다. 모델명만 봐서는 어떤게 좋은지 모르겠더라고요.
... 더 보기f
... 더 보기