找到 2637 篇文章 关于 Java

在 Java 9 中使用 Optional.ifPresentOrElse() 方法的目的是什么?

raja
更新于 2020-02-25 07:45:01

2K+ 浏览量

Optional 类中 ifPresentOrElse() 方法的改进在于它接受两个参数,Consumer 和 Runnable。使用 ifPresentOrElse() 方法的目的是,如果 Optional 包含一个值,则在包含的值上调用函数 action,即 action.accept(value),这与 ifPresent() 方法一致。与 ifPresent() 方法的区别在于 ifPresentOrElse() 有第二个参数 emptyAction。如果 Optional 不包含值,则 ifPresentOrElse() 方法调用 emptyAction,即 emptyAction.run()。语法public void ifPresentOrElse(Consumer

如何在 Java 9 中的 JShell 中导入外部库?

raja
更新于 2020-02-24 12:06:57

2K+ 浏览量

JShell 是一个交互式工具,用于学习 Java 语言和原型设计 Java 代码。JShell 通过评估用户键入的命令来工作。此工具基于 REPL(读取-评估-打印-循环)的原理。默认情况下,在 JShell 会话启动时,JShell 会自动导入一些有用的 Java 包。我们可以键入命令 /imports 来获取所有这些导入的列表。jshell> /imports | import java.io.* | import java.math.* | import java.net.* | import java.nio.file.* | import java.util.* | import java.util.concurrent.* | import java.util.function.* | import java.util.prefs.* | import java.util.regex.* | import java.util.stream.* | import javax.mail.internet.InternetAddress我们还可以导入外部库到 ... 阅读更多

在 Java 9 中,接口中定义了哪些类型的变量/方法?

raja
更新于 2020-02-24 13:11:34

289 浏览量

从 Java 9 开始,我们可以在接口中添加私有方法和私有静态方法。在接口中使用私有方法的优点是减少默认方法和静态方法之间的代码重复。例如,如果两个或多个默认方法需要共享一些代码,则可以为此创建一个私有方法,并从每个默认方法中调用它。在 Java 9 中,以下变量/方法已在接口中定义。常量抽象方法默认方法静态方法私有方法私有静态方法示例import java.util.*; import java.util.stream.*; interface InterfaceTest {    static void printEvenNumbers() {       getDataStream().filter(i -> i%2==0).forEach(System.out::println);    }    static void printLOddNumbers() {       getDataStream().filter(i ... 阅读更多

在 Java 9 中,Optional.stream() 方法有什么用?

raja
更新于 2020-02-24 05:30:32

1K+ 浏览量

在 Java 9 中,stream() 方法已添加到 Optional 类以改进其功能。stream() 方法可用于将可选元素的流转换为存在值元素的流。如果 Optional 包含一个值,则返回包含该值的流。否则,它返回一个空流。语法public Stream stream()示例import java.util.Arrays; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; import java.util.stream.Stream; public class StreamMethodTest {    public static void main(String[] args) {       List list = Arrays.asList(             Optional.empty(),             Optional.of("TutorialsPoint"),           ... 阅读更多

在 Java 9 中,Cleaner 类有什么用?

raja
更新于 2020-02-24 05:31:36

815 浏览量

在程序执行期间创建的对象会由垃圾收集器 (GC) 自动删除。当一个对象没有被任何线程引用,并且当 JVM 确定该对象无法访问时,它就可以被垃圾回收。Object 类有一个 finalize() 方法,该方法在 GC 尝试从堆中删除对象之前会自动调用。在 Java 9 中,finalize() 方法已被弃用,并且添加了一个新的类 java.lang.ref.Cleaner 来管理垃圾回收。当对象有资格进行垃圾回收时,Cleaner 类的对象会自动收到通知。正在被 ... 阅读更多

如何在 Java 9 中的 JShell 中定义表达式、变量和方法?

raja
更新于 2020-02-24 05:32:55

836 浏览量

JShell 是一个读取-评估-打印循环 (REPL),它在我们输入时评估声明、语句和表达式,并立即显示结果。此工具从命令提示符运行。在下面,我们可以在 JShell 中定义表达式、变量和方法。表达式我们可以在 JShell 中键入任何有效的 Java 表达式。表达式可以是算术运算、字符串操作和方法调用,并立即进行评估。所有结果都自动分配给 JShell 创建的变量。这些变量以 $ 符号为前缀。示例jshell> 10 * 5 $1 ==> 50 jshell> 77 % 3 $2 ==> 2 jshell> $1 + $2 $3 ==> 52 jshell>变量定义的 ... 阅读更多

在 Java 9 中的 JShell 中,Tab 键有什么用?

raja
更新于 2020-02-21 10:22:01

215 浏览量

当我们通过按 Tab 键部分键入现有类、变量或方法的名称时,JShell 还可以提供自动完成功能。如果无法根据我们输入的内容确定项目,则会提供可能的选项。在 JShell 中按 Tab 键执行以下任务之一:如果没有任何其他名称与我们键入的内容匹配,则 JShell 会为我们输入其余名称。如果有多个名称以相同的字母开头,则 JShell 会显示这些名称的列表,以帮助我们确定接下来要键入的内容,然后键入下一个字母(s)并再次按 Tab 键以完成名称。如果否 ... 阅读更多

如何在 Java 9 中的 JShell 中保存、编辑和删除代码片段?

raja
更新于 2020-02-21 10:06:42

379 浏览量

Java Shell 或 JShell 是 Java 9 中引入的官方 REPL(读取-评估-打印循环)。它提供了一个交互式 shell,用于快速进行原型设计、调试,而无需 main() 方法或在执行代码之前编译代码。通过在命令提示符下键入“jshell”可以轻松启动 JShell。保存代码片段我们可以使用“/save [-all|-history|-start]”命令将代码片段源保存到文件。C:\Users\User>jshell | Welcome to JShell -- Version 9.0.4 | For an introduction type: /help intro jshell> /save C:\Users\User\jshell.txt以上代码在指定路径下创建一个新的“jshell.txt。编辑代码片段我们也可以在 ... 阅读更多

在 Java 9 中,Process API 中添加了哪些新方法?

raja
更新于 2020-02-21 04:57:55

114 浏览量

Java 9 通过添加新方法并提供新的接口:`ProcessHandle` 和 `ProcessHandle.Info` 来改进 `Process` 类,以获取有关进程及其信息的所有详细信息。以下是 Java 9 中添加到 `Process` 的新方法列表:`boolean supportsNormalTermination()`:如果 `destroy()` 的实现是为了正常终止进程,则可以返回 true,否则返回 false。`long pid()`:它可以返回进程的原生进程 ID。`ProcessHandle toHandle()`:它可以返回 `Process` 的 `ProcessHandle`。`Stream children()`:它可以返回进程的直接子进程的快照。`Stream descendants()`:它可以返回后代的快照... 阅读更多

Java 9 中接口中的私有方法有什么优势?

raja
更新于 2020-02-21 04:59:01

472 次浏览

在 Java 9 中,接口也可以拥有私有方法。除了 Java 8 中的静态和默认方法之外,这是另一个重大变化,因为它允许在接口本身内重用公共代码。在一个接口中,有可能在多个默认方法上编写公共代码,这会导致代码重复。私有方法的引入避免了这种代码重复。接口中私有方法的优势避免代码重复。确保代码可重用性。提高代码可读性。语法`interface interfacename {    private methodName(parameters) {       // 语句     } }`示例`interface Test {    default void m1() {       common();    }   ... 阅读更多

广告