」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > Java 模組導入功能

Java 模組導入功能

發佈於2024-11-04
瀏覽:612

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))));
  }

}


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

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

此外,當一個模組傳遞導入另一個模組時,我們可以使用傳遞導入模組的導出包中的所有類,而無需任何明確導入。例如,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