ホームページ  >  記事  >  Java  >  Javaモジュールインポート機能

Javaモジュールインポート機能

DDD
DDDオリジナル
2024-10-05 06:12:30631ブラウズ

Java  Module Import Feature

Java 23 では、モジュール インポート宣言 (プレビュー) と暗黙的に宣言されたクラスでの自動モジュール インポートという 2 つの新しいプレビュー機能が導入されています。これらはまだ変更される可能性があるため、運用コードでは使用しないでください。

1.モジュールのインポート宣言 (プレビュー) - JEP 476
Java 23 のリリースにより、コード内に完全なモジュールをインポートできるようになりました。これは、そのモジュールによってエクスポートされたパッケージ内のすべてのクラスをインポートできることを意味します。

たとえば、クラスごとに個別の import ステートメントを作成することなく、完全な java.base モジュールをインポートし、List、Set、Map、Collector などのクラスを使用できます。これは、「インポート モジュール」構文を使用して実行できます。


//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<Character, List<String>> groupByFirstLetter(String...values) {
    return Stream.of(values).collect(
      Collectors.groupingBy(s -> Character.toUpperCase(s.charAt(0))));
  }

}


この構文を使用するために、インポートするクラスがモジュール内にある必要はないことに注意してください。

同じ名前を持つ 2 つのインポートされたクラスがある場合、あいまいなクラス名が発生する可能性があります。これを解決するには、インポート ステートメントで目的のクラスを直接指定する必要があります。

さらに、あるモジュールが別のモジュールを推移的にインポートする場合、明示的なインポートを行わずに、推移的にインポートされたモジュールのエクスポートされたパッケージ内のすべてのクラスを使用できます。たとえば、java.sql モジュールは java.xml モジュールを推移的にインポートするため、明示的にインポートしなくても java.xml のクラスを使用できます。

2.暗黙的に宣言されたクラスでのモジュールの自動インポート
Java 23 では、暗黙的に宣言されたクラスは完全な java.base モジュールを自動的にインポートします。

以上がJavaモジュールインポート機能の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。