Программирование на Java настроено на расширение с помощью шаблонов записей и шаблонов массивов, а также сопоставления шаблонов для выражений и операторов switch, хотя время появления этих возможностей остается неопределенным.

В онлайн-презентации 23 марта Гэвин Бирман, член-консультант технического персонала Oracle, назвал эти функции в центре внимания двух предложений по усовершенствованию JDK (Java Development Kit), ожидаемых к предстоящему, пока еще не определенному выпуску Java, который включит их в предварительный просмотр. Есть надежда, что они появятся в Выпуск JDK 17 планируется на сентябрь.

Поддерживающий шаблоны записи и шаблоны массивовВ черновике предложения говорится, что наряду с шаблонами типов (из Java 16) в языке Java значительно улучшатся выразительность и полезность сопоставления с образцом и станут доступны более сложные и составные запросы к данным. Шаблоны записей, шаблоны массивов и шаблоны типов могут быть вложенными, как шаблоны в шаблонах. Синтаксис или семантика шаблонов типов не изменится.

Сопоставление с образцом рекламировалось как механизм, позволяющий использовать общую логику в программе, а именно условное извлечение компонентов из объектов, чтобы их можно было выразить более кратко и безопасно. В предложении отмечается, что с JDK 16, опубликовано 16 марта instanceof Оператор был расширен, чтобы взять образец типа и выполнить сопоставление с образцом. Предложение шаблонов записей и шаблонов массивов основано на сопоставлении шаблонов для instanceof.

Сопоставление с образцом для переключателяМежду тем, это позволит протестировать выражение на соответствие ряду шаблонов, каждый из которых имеет определенное действие, что позволит безопасно и кратко выражать сложные запросы, ориентированные на данные. Цели этого предложения включают расширение выразительности и применимости выражений и операторов switch, позволяя шаблонам появляться в метках case и позволяя при желании ослабить историческую враждебность к нулю для switch.

Проект предложения также вводит защищенный шаблон, так что логика сопоставления с образцом может быть уточнена с помощью произвольных логических выражений и шаблона в скобках. Существующие выражения переключения по-прежнему будут компилироваться без изменений и выполняться с идентичной семантикой.

Пока что функции, официально нацеленные на JDK 17, включают: улучшенные генераторы псевдослучайных чисел и новый конвейер рендеринга MacOS. В ближайшие месяцы почти наверняка будет добавлено больше.

Авторские права © 2021 IDG Communications, Inc.


#Предложения #OpenJDK #улучшат #сопоставление #шаблонов #Java

Source link