找到关于 Java 的2637 篇文章

为什么 Java 9 中需要 @SafeVarargs?

raja
更新于 2020年3月24日 13:53:26

195 次浏览

Java 中引入了可变参数 (varargs) 功能,以便于创建具有可变数量参数的方法,而无需使用数组类型参数或同一方法的重载版本。在 Java 9 之前的版本中,如果可变参数方法与泛型一起使用,则会显示警告消息。即使并非所有方法都会造成堆污染,编译器也会针对所有与泛型一起使用的可变参数方法显示警告。这就是在 Java 9 版本中添加 @SafeVarargs 概念的原因,以避免这些警告。如果添加此注解,则编译器会停止这些警告。我们可以使用以下命令编译代码:javac -Xlint:unchecked ... 阅读更多

在 Java 9 的接口中,能否使用私有方法或私有静态方法?

raja
更新于 2020年3月23日 16:47:33

3K+ 次浏览

是的,在 Java 9 的接口中,可以使用私有方法或私有静态方法。可以使用这些方法来消除代码冗余。私有方法只能在该接口内使用。不能从一个接口或类访问或继承私有方法到另一个接口或类。语法:interface { private static void methodName() { //一些语句 } private void methodName() { //一些语句 } }示例:interface Java9Interface { public abstract void method1(); public default void method2() { method4(); method5(); ... 阅读更多

如何在 Java 9 的 JShell 中重新执行现有代码片段?

raja
更新于 2020年3月23日 13:36:57

133 次浏览

JShell 是 Java 9 中引入的第一个 REPL 工具。可以使用 JShell 工具在命令行提示符下执行简单的代码片段。可以通过键入“jshell”命令启动 JShell 会话,通过键入“/exit”命令停止会话,并通过使用“/help”命令搜索特定命令。“/reload”命令可用于重新执行 JShell 中所有现有的代码片段。也可以使用“/reset”命令从 JShell 会话中删除所有之前的代码。在下面的代码片段中,我们创建了一组代码片段。jshell> 2+10 $1 ==> 12 jshell> String s = "Tutorialspoint" s ... 阅读更多

Java 8 和 Java 9 之间的区别?

raja
更新于 2020年3月23日 10:56:46

2K+ 次浏览

Java 9 版本引入了新的增强功能并添加了新功能。它包括 JShell、Http2Client、Java 平台模块系统 (JPMS)、多版本 jar 文件、堆栈遍历 API、接口中的私有方法、进程 API 更新、集合 API 更新、Stream API 改进等等。以下是 Java 8 和 Java 9 之间的一些区别:在 Java 8 和之前的版本中,顶级组件是包。它将一组相关的类型(类、接口、枚举等)放在一个组中,并且还包含一组资源,而 Java 9 引入了一个新组件:模块,它可以用来放置... 阅读更多

如何在 Java 9 的 JShell 中按 ID 执行代码片段?

raja
更新于 2020年3月23日 06:40:39

160 次浏览

JShell 是 Java 9 中引入的交互式工具 (REPL)。在 JShell 工具中,无需 main() 方法即可执行表达式、变量、方法、类等代码片段。只需键入 /id 即可执行任何之前的代码片段,其中 id 指示代码片段的 ID。例如,如果键入“/1”,则 JShell 会显示我们输入的第一个代码片段,执行它并显示结果。可以使用“/!”重新执行我们输入的最后一个代码片段(无论其有效与否)。在下面的代码片段中,我们创建了一组代码片段,并使用... 阅读更多

如何在 Java 9 的 JShell 中避免编译错误?

raja
更新于 2020年3月20日 18:02:14

165 次浏览

JShell 是一个交互式工具,它允许我们执行 Java 代码并立即显示输出。JShell 是从命令行提示符运行的 REPL(读取-评估-打印-循环)工具。如果需要避免 JShell 中的编译错误,则必须在使用变量之前声明它们。JShell 中的错误消息可以使用“^--^”符号来突出显示错误。在下面的代码片段中,int 变量“div”的声明尝试使用未声明的变量:num1 和 num2,因此 JShell 报告编译错误,指示编译器无法找到这些变量。C:\Users\User>jshell | Welcome to JShell ... 阅读更多

如何在 Java 9 的 JShell 中实现映射?

raja
更新于 2020年3月20日 08:09:49

279 次浏览

JShell 是 Java 9 中引入的 Java shell 工具。它是一个交互式工具,在命令行提示符下读取输入、执行它并打印它。我们不需要像 Java 类那样编写 main() 方法来执行它。我们可以在 JShell 工具中实现不同的集合,包括集合、列表和映射。重要的集合是 Map 接口,它是一对键值对。Map 不包含重复的键,每个键最多映射到一个值。在下面的示例中,我们可以实现非空映射。C:\Users\User>jshell | Welcome to JShell -- ... 阅读更多

Java 9 的 module-info 文件中的组件是什么?

raja
更新于 2020年3月20日 07:07:25

1K+ 次浏览

模块是一个独立的应用程序单元,表示单个功能。模块包含三个重要组件:名称:唯一标识它;依赖项:它所依赖的其他模块;导出的包:对外部应用程序开放的包。为了声明一个模块,需要将“module-info.java”文件添加到根源代码中。“module-info.java”文件的组件包括“name”、“requires”、“exports”和“exports to”。以下是“module-info.java”文件的模板:module { requires ; requires ; ... exports ; exports ; ... exports to ; }名称:它是... 阅读更多

如何在 Java 9 中显示所有模块名称?

raja
更新于 2020年3月19日 14:02:31

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()); ... 阅读更多

如何在 Java 9 的 JShell 中打印星号图案?

raja
更新于 2020年3月19日 12:10:10

236 次浏览

JShell 是 Java 9 中引入的 REPL 工具,它允许我们执行 Java 代码并立即获得结果。我们可以使用 JShell 来评估表达式或简单的算法,而无需创建一个新项目、编译或构建它。我们还可以执行表达式、使用导入、定义类、方法和变量。它是 Java 9 JDK 的一部分,但不是 JRE 的一部分。只需在命令提示符下键入 jshell 即可启动 JShell 会话。我们可以使用不同的命令:/exit 用于退出 JShell 会话,/reset 和 /reload 用于随时重置 JShell,/import 用于列出导入等。在下面的示例中,我们可以打印... 阅读更多

广告