登录
首页 >  文章 >  java教程

Java 模块导入功能

来源:dev.to

时间:2024-10-05 12:07:01 258浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《Java 模块导入功能》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

Java 模块导入功能

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 模块。

今天关于《Java 模块导入功能》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>