IntelliJ IDEA Java

Java 18 기능 지원

Read this post in other languages:
English, Français, 简体中文

Java 18이 출시되었으며 IntelliJ IDEA 2022.1 버전부터 이를 지원합니다.

코드 스니펫 지원

API 문서에 예시 소스 코드를 더 간단하게 포함하기 위해 JavaDoc의 표준 Doclet에 대한 @snippet 태그가 JDK 18에 도입되었습니다.

명시적 래퍼가 없어도 스니펫 조각은 여전히 Java 코드로 인식됩니다. 모든 언어를 지정할 수 있으며 언어 삽입 기능은 스니펫에서도 작동합니다. 예를 들어 탐색 가능한 참조는 가져오기를 통해 사용할 수 있는 모든 요소에 대해 작동합니다.

클래스의 바인딩을 사용하여 스니펫의 모든 코드를 작성할 필요는 없습니다. 조각은 IntelliJ IDEA에서 JShell 조각과 유사하게 인식됩니다.

switch 식의 패턴: 두 번째 미리보기

JDK17에 도입된 switch 식의 패턴 일치 사양이 IntelliJ IDEA에서 이미 지원되는 두 가지 기본 변경 사항으로 업데이트되었습니다.

  • 타입이 무엇이든 패턴(보호된 패턴 포함)은 상수 case보다 우위를 차지합니다. 패턴 및 비 상수 case의 우위는 변경되지 않습니다.
  • Sealed 계층 구조의 경우, 하위 타입을 선택자 타입에 사용할 수 없거나 선택자 타입으로 형 변환할 수 없는 경우가 있습니다. 이제 switch 문을 완전하게 만들기 위해 더 이상 이러한 하위 타입을 처리할 필요가 없습니다.

기타 업데이트

Java 18부터 비정적 내부 클래스(익명이든 아니든)는 사용되지 않는 ‘this’를 캡처하지 않으므로 이에 따라 Cleaner captures object reference(Cleaner가 객체 참조를 캡처) 검사가 업데이트되었습니다. 이 검사는 코드에서 다음 경고를 트리거하지 않습니다.

검사: Java | Probable bugs(가능한 버그) | Cleaner captures object reference(Cleaner가 객체 참조를 캡처)

또한 JDK18에서 디폴트 문자 집합은 이제 플랫폼에 따라 다르지 않고 UTF-8입니다. 이에 따라 플랫폼의 디폴트 문자 집합을 묵시적으로 사용하는 메서드 및 생성자 호출을 보고하는 Implicit platform default charset(묵시적 플랫폼 디폴트 문자 집합) 검사가 업데이트되었습니다.

게시물 원문 작성자

Jessie Cho

Olga Klisho

Discover more