首页 > 图灵资讯 > 技术篇>正文
Java 模块导入功能
2024-10-08 17:30:48
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>> groupByFirstLetter(String...values) { return Stream.of(values).collect( Collectors.groupingBy(s -> Character.toUpperCase(s.charAt(0)))); } } </character>
请注意,该语法不需要在模块中使用导入类。
如果有两个同名导入类,可能会有歧义性的类名。为了解决这个问题,我们需要直接 import 在句子中指定所需的类别。
立即学习“Java免费学习笔记(深入);
此外,当一个模块传输到另一个模块时,我们可以在没有任何显式导入的情况下使用传输导入模块的导出包中的所有类别。例如,java.sql 传输导入模块 java.xml 因此,我们可以使用模块 java.xml 中类,不需要显式导入。
2.模块自动导入隐式声明的类别 在 java 23 在中间,隐式声明类将自动导入完整性 java.base 模块。
以上是Java 详细介绍模块导入功能,请关注图灵教育的其他相关文章!