Команда Spring АйО проанализировала JEP 511: импорт модулей. Теперь можно будет одним импортом подключать все пакеты, которые экспортирует модуль. Это сильно упростит работу с большими библиотеками, особенно в прототипах и обучении.
В чем проблема?
Например, чтобы работать с потоками, коллекциями и функциями, раньше приходилось писать кучу импортов:
import java.util.*; import java.util.function.*; import java.util.stream.*;
Теперь можно будет написать:
import module java.base;
И все нужные классы из java.util, java.util.stream и других будут доступны сразу.
Зачем это нужно?
-
Быстрее подключать модули целиком без перечисления всех пакетов.
-
Удобно для прототипов, скриптов и JShell.
-
Упрощает жизнь новичкам — не нужно вспоминать, где в иерархии пакетов живет
ListилиStream.
Пример:
import module java.sql; public class Demo { public static void main(String[] args) throws Exception { Connection conn = DriverManager.getConnection("jdbc:h2:mem:"); Statement stmt = conn.createStatement(); stmt.execute("create table test(id int)"); System.out.println("Таблица создана"); } }
Благодаря import module java.sql; доступны все классы из java.sql и javax.sql сразу.
Как это работает?
import module M; — подключает все публичные классы и интерфейсы из экспортируемых пакетов модуля M.
Также подключаются пакеты из модулей, от которых M зависит транзитивно.
Важно:
Это работает даже в обычных (не модульных) проектах.
Если в разных модулях встречаются классы с одинаковыми именами, компилятор сообщит об ошибке. В этом случае можно уточнить импорт:
import java.sql.Date; // Уточнение, какой именно класс Date использовать
Java постоянно расширяется, и стандартные библиотеки становятся все объемнее. import module — это способ сделать работу с ними проще и быстрее, без потери совместимости.
Что думаете о новой фиче? Предлагаем обсудить комментариях👇

Присоединяйтесь к русскоязычному сообществу разработчиков на Spring Boot в телеграм — Spring АйО, чтобы быть в курсе последних новостей из мира разработки на Spring Boot и всего, что с ним связано
ссылка на оригинал статьи https://habr.com/ru/articles/933476/
Добавить комментарий