SeouliteLab

JDK 22의 새로운 기능과 예제 본문

프로그래밍

JDK 22의 새로운 기능과 예제

Seoulite Lab 2024. 4. 5. 15:28

JDK 22는 Java 개발자들을 위한 다양한 새로운 기능을 제공합니다. 이번 글에서는 JDK 22의 주요 기능과 각 기능에 대한 예제를 살펴보겠습니다.

1. HTTP 클라이언트 API 개선
JDK 22에서는 HTTP 클라이언트 API가 개선되어 더욱 향상된 기능을 제공합니다. 이를 통해 더욱 쉽고 효율적으로 HTTP 요청을 처리할 수 있습니다. 아래는 이를 보여주는 간단한 예제입니다.

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import java.net.http.HttpHeaders;

public class HttpClientExample {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create("https://api.example.com/data"))
                .build();

        client.sendAsync(request, HttpResponse.BodyHandlers.ofString())
                .thenApply(HttpResponse::body)
                .thenAccept(System.out::println)
                .join();
    }
}

2. 컬렉션 유틸리티 메서드 추가
JDK 22에서는 컬렉션 유틸리티 메서드가 추가되어 더욱 다양한 컬렉션 처리 기능을 제공합니다. 이를 통해 보다 간결하고 효율적인 코드를 작성할 수 있습니다.

import java.util.List;
import java.util.stream.Collectors;

public class CollectionUtilityExample {
    public static void main(String[] args) {
        List<Integer> numbers = List.of(1, 2, 3, 4, 5);

        List<Integer> squaredNumbers = numbers.stream()
                .map(n -> n * n)
                .collect(Collectors.toList());

        System.out.println("제곱한 숫자들: " + squaredNumbers);
    }
}

3. 람다 파라미터 추론 개선
JDK 22에서는 람다 파라미터 추론이 개선되어 좀 더 유연하고 명확한 코드를 작성할 수 있게 되었습니다.

import java.util.function.BiFunction;

public class LambdaParameterInferenceExample {
    public static void main(String[] args) {
        BiFunction<Integer, Integer, Integer> adder = (a, b) -> a + b;

        System.out.println("합계: " + adder.apply(5, 3));
    }
}