«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Функция импорта модулей Java

Функция импорта модулей Java

Опубликовано 4 ноября 2024 г.
Просматривать:840

Java  Module Import Feature

В Java 23 представлены две новые функции предварительной версии: объявления импорта модулей (предварительная версия) и автоматический импорт модулей в неявно объявленных классах. Их не следует использовать в рабочем коде, поскольку они все еще могут быть изменены.

1. Объявления об импорте модуля (предварительная версия) – JEP 476
С выпуском Java 23 мы теперь можем импортировать в наш код полные модули. Это означает, что мы можем импортировать все классы в пакетах, экспортированных этим модулем.

Например, мы можем импортировать полный модуль java.base и использовать такие классы, как List, Set, Map и Collectors, без необходимости создавать отдельные операторы импорта для каждого класса. Это можно сделать с помощью синтаксиса «модуля импорта»:


//Old style:
import java.util.Map;                   // or import java.util.*;
import java.util.function.Function;     // or import java.util.function.*;
import java.util.stream.Collectors;     // or import java.util.stream.*;
import java.util.stream.Stream;         // (can be removed)



//New Style:
import module java.base;

public class MyExamCloud {

  public static Map> groupByFirstLetter(String...values) {
    return Stream.of(values).collect(
      Collectors.groupingBy(s -> Character.toUpperCase(s.charAt(0))));
  }

}


Обратите внимание, что для использования этого синтаксиса импортирующий класс не обязательно должен находиться в модуле.

Если есть два импортированных класса с одинаковым именем, могут возникнуть неоднозначные имена классов. Чтобы решить эту проблему, нам нужно указать нужный класс непосредственно в операторе импорта.

Кроме того, когда один модуль транзитивно импортирует другой модуль, мы можем использовать все классы в экспортированных пакетах транзитивно импортированного модуля без какого-либо явного импорта. Например, модуль java.sql транзитивно импортирует модуль java.xml, поэтому мы можем использовать классы из java.xml без необходимости импортировать их явно.

2. Автоматический импорт модулей в неявно объявленных классах
В Java 23 неявно объявленные классы автоматически импортируют полный модуль java.base.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/myexamcloud/java-23-module-import-feature-onm?1. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3