자바에서 패턴 매칭의 표현력을 개선하는 것 그리고 데이터 지향 쿼리를 활성화하는 것을 목표로 하는 2가지 개발 제안서 초안이 오픈JDK 커뮤니티에서 제기됐다.
자바 프로그래밍에서 레코드 패턴과 배열 패턴 그리고 스위치 표현식 및 구문의 패턴 매칭을 개선하는 기능이 제안됐다. 하지만 이 기능들이 언제 지원될지는 아직 정해지진 않았다.
지난 3월 23일 온라인 프레젠테이션에서 오라클의 기술 부문 컨설팅 담당 개빈 비어맨이 2가지 오픈 JDK 프로젝트 제안을 공개하면서 이러한 기능들을 언급했다. 이들은 앞으로 출시 예정인 (하지만 정확하게 결정되진 않은) 자바 릴리즈에 프리뷰 단계로 포함될 예정이다. 올해 9월로 예정된 JDK 17 릴리즈에 포함될 것으로 예상되고 있다.
제안서 초안에 따르면 자바에서 유형 패턴(자바16부터 지원)과 함께, 레코드 패턴 및 배열 패턴을 지원하면 패턴 매칭의 표현력과 효용성이 크게 향상되며 더욱더 정교하고 구성 가능한 데이터 쿼리를 활성화할 수 있다. 레코드 패턴, 배열 패턴, 유형 패턴은 패턴 내의 패턴처럼 중첩될 수 있다. 유형 패턴의 구문 또는 의미는 변경되지 않는다고 제안서는 덧붙였다.
패턴 매칭은 프로그램의 공통 로직, 즉 객체에서 구성 요소의 조건부 추출을 허용하는 메커니즘이다. 해당 제안서는 지난 3월 16일에 발표된 JDK 16에서 Instanceof 연산자가 유형 패턴을 취하고 패턴 매칭을 수행하도록 확장됐다고 설명했다. 이번 레코드 패턴 및 배열 패턴 제안은 Instanceof의 패턴 매칭(JEP 394)을 기반으로 한다.