首頁  >  文章  >  Java  >  Java 模組導入功能

Java 模組導入功能

DDD
DDD原創
2024-10-05 06:12:30529瀏覽

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

}


請注意,導入類別不需要位於模組中即可使用此語法。

如果有兩個同名的導入類,可能會出現類名不明確的情況。為了解決這個問題,我們需要直接在 import 語句中指定所需的類別。

此外,當一個模組傳遞導入另一個模組時,我們可以使用傳遞導入模組的導出包中的所有類,而無需任何明確導入。例如,java.sql 模組傳遞性地導入 java.xml 模組,因此我們可以使用 java.xml 中的類,而無需明確導入它們。

2。隱式宣告的類別中自動導入模組
在 Java 23 中,隱式宣告的類別將自動匯入完整的 java.base 模組。

以上是Java 模組導入功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn