Search
Write a publication
Pull to refresh
122.9

JEP 511: Импорт модулей в Java 25 — как упростить работу с библиотеками

Level of difficultyEasy
Reading time2 min
Views274

Команда 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 и всего, что с ним связано

Tags:
Hubs:
+3
Comments0

Articles

Information

Website
t.me
Registered
Employees
11–30 employees