195 次浏览
Java 中引入了可变参数 (varargs) 功能,方便创建具有可变数量参数的方法,而无需使用数组类型参数或同一方法的重载版本。在 Java 9 之前的版本中,如果可变参数方法与泛型一起使用,则会显示警告消息。即使并非所有方法都会造成堆污染,编译器也会对所有与泛型一起使用的可变参数方法显示警告。这就是在 Java 9 版本中添加 @SafeVarargs 概念的原因,以避免这些警告。如果添加此注释,则编译器将停止这些警告。可以使用以下命令编译代码:javac -Xlint:unchecked ... 阅读更多
3K+ 次浏览
是的,在 Java 9 的接口中可以有私有方法或私有静态方法。可以使用这些方法来消除代码冗余。私有方法只能在该接口内使用。无法从一个接口或类访问或继承私有方法到另一个接口。语法:interface { private static void methodName() { //一些语句 } private void methodName() { //一些语句 } }示例:interface Java9Interface { public abstract void method1(); public default void method2() { method4(); method5(); ... 阅读更多
133 次浏览
JShell 是 Java 9 中引入的第一个 REPL 工具。可以使用 JShell 工具在命令行提示符下执行简单的代码片段。可以通过键入“jshell”命令启动 JShell 会话,通过键入“/exit”命令停止会话,并使用“/help”命令搜索特定命令。“/reload”命令可用于重新执行 JShell 中所有现有的代码片段。还可以使用“/reset”命令从 JShell 会话中删除所有以前的代码。在下面的代码片段中,创建了一组代码片段。jshell> 2+10 $1 ==> 12 jshell> String s = "Tutorialspoint" s ... 阅读更多
2K+ 次浏览
Java 9 版本引入了新的增强功能并添加了新功能。它包括 JShell、Http2Client、Java 平台模块系统 (JPMS)、多发行版 jar 文件、堆栈跟踪 API、接口中的私有方法、进程 API 更新、集合 API 更新、Stream API 改进等等。以下是 Java 8 和 Java 9 之间的一些区别:在 Java 8 和更早的版本中,顶级组件是包。它将一组相关的类型(类、接口、枚举等)放在一个组中,并且还包含一组资源,而 Java 9 引入了一个新组件:模块,可用于放置... 阅读更多
160 次浏览
JShell 是 Java 9 中引入的交互式工具 (REPL)。无需 main() 方法,即可在 JShell 工具中执行表达式、变量、方法、类等代码片段。只需键入 /id 即可执行任何以前的代码片段,其中 id 表示代码片段的 ID。例如,如果键入“/1”,则 JShell 将显示输入的第一个代码片段,执行它并显示结果。可以使用“/!”重新执行输入的最后一个代码片段(无论其是否有效)。在下面的代码片段中,创建了一组代码片段,并使用... 阅读更多
165 次浏览
JShell 是一个交互式工具,它允许执行 Java 代码并立即显示输出。JShell 是从命令行提示符运行的 REPL(读取-求值-打印-循环)工具。如果需要避免 JShell 中的编译错误,则必须在使用变量之前声明它们。JShell 中的错误消息可以使用符号“^--^”来突出显示错误。在下面的代码片段中,int 变量“div”的声明尝试使用未声明的变量:num1 和 num2,因此 JShell 报告编译错误,表明编译器无法找到这些变量。C:\Users\User>jshell | Welcome to JShell ... 阅读更多
279 次浏览
JShell 是 Java 9 中引入的 Java shell 工具。它是一个交互式工具,在命令行提示符下读取输入、执行它并打印它。不需要像 Java 类那样编写 main() 方法来执行它。可以在 JShell 工具中实现不同的集合,包括集合、列表和映射。重要的集合是 Map 接口,它是键值对。Map 不包含重复的键,每个键最多映射到一个值。在下面的示例中,可以实现非空映射。C:\Users\User>jshell | Welcome to JShell -- ... 阅读更多
1K+ 次浏览
模块是表示单个功能的应用程序的独立单元。模块包含三个重要组件:名称:唯一标识它;依赖项:它依赖的其他模块;导出的包:对外部应用程序开放的包。为了声明模块,需要将“module-info.java”文件添加到根源代码中。“module-info.java”文件的组件包括“name”、“requires”、“exports”和“exports to”。以下是“module-info.java”文件的模板:module { requires ; requires ; ... exports ; exports ; ... exports to ; }名称:它是... 阅读更多
283 次浏览
在 Java 9 中,引入了模块的概念。它是一个命名的、自描述的代码和数据集合。代码可以组织为一组包含诸如 Java 类和接口之类的类型的包,数据包括资源和其他类型的静态信息。模块包含名称、依赖项和导出的包。语法:module com.tutorialspoint.mymodule { //一些语句 }在下面的示例中,可以使用 ModuleLayer 类显示所有模块名称。示例:public class AllModulesNamesTest { public static void main(String args[]) { ModuleLayer.boot().modules().forEach((module) -> { System.out.println(module.getName()); ... 阅读更多
浏览量:236
JShell 是 Java 9 中引入的一个 REPL 工具,允许我们执行 Java 代码并立即获得结果。我们可以评估表达式或简单的算法,而无需创建新项目、编译或构建它。我们还可以执行表达式、使用导入、定义类、方法和变量。它是 Java 9 JDK 的一部分,但不是 JRE 的一部分。我们只需在命令提示符下键入 jshell 即可启动 JShell 会话。我们可以使用不同的命令:/exit 退出 JShell 会话,通过键入 /reset 和 /reload 来随时重置/重新加载 JShell,/import 来列出导入等等。在下面的示例中,我们可以打印……阅读更多