找到 2637 篇文章 关于 Java

Java 9 中 Stream API 的 iterate() 方法的重要性?

raja
更新于 2020-02-21 05:11:39

372 次浏览

在 Java 8 中,Stream API 的 iterate() 方法将种子和一元运算符作为参数。由于流变得无限,它使开发人员通过使用 limit、findFirst、findAny 等添加显式终止条件。在 Java 9 中,Stream API 的 iterate() 方法添加了一个新的参数,一个谓词,它接受中断流的条件。语法static Stream iterate(T seed, Predicate

Java 9 中不可变集合的优势是什么?

raja
更新于 2020-02-21 10:08:12

373 次浏览

在 Java 9 中,Collections API 添加了几个工厂方法。通过使用这些工厂方法,我们可以创建不可修改的列表、集合和映射集合对象,以减少代码行数。List.of()、Set.of()、Map.of() 和 Map.ofEntries() 是提供创建不可变集合的便捷方法的静态工厂方法。不可变集合的优势更少的堆空间:与早期 Java 版本中的传统方法相比,存储集合数据所需的空间要少得多。更快的数据访问:由于减少了存储数据并包装到 Collections.unmodifiable 中的开销,因此现在数据访问变得更快。这意味着... 阅读更多

Java 9 中 orTimeout() 和 completeOnTimeOut() 方法的区别?

raja
更新于 2020-02-21 05:13:46

1K+ 次浏览

orTimeout() 和 completeOnTimeOut() 方法都定义在 CompletableFuture 类中,这两个方法是在 Java 9 中引入的。orTimeout() 方法可用于指定如果给定任务在特定时间段内未完成,则程序停止执行并抛出 TimeoutException,而 completeOnTimeOut() 方法则使用提供的 value 完成 CompletableFuture。如果没有,它会在给定的超时之前完成。orTimeout() 的语法public CompletableFuture orTimeout(long timeout, TimeUnit unit)示例import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; public class OrTimeoutMethodTest {    public static void main(String args[]) throws InterruptedException {       int a = 10;       int b = 15;   ... 阅读更多

何时在 Java 9 中使用 Stream 的 ofNullable() 方法?

raja
更新于 2020-02-21 05:31:34

2K+ 次浏览

ofNullable() 方法是 Stream 类的静态方法,如果非空则返回包含单个元素的顺序流,否则返回空流。Java 9 引入了此方法来避免 NullPointerException,并避免流的空检查。使用 ofNullable() 方法的主要目的是在值为 null 时返回空选项。语法static Stream ofNullable(T t)示例-1import java.util.stream.Stream; public class OfNullableMethodTest1 {    public static void main(String args[]) {       System.out.println("TutorialsPoint");       int count = (int) Stream.ofNullable(5000).count();       System.out.println(count);       System.out.println("Tutorix");       count = (int) Stream.ofNullable(null).count();   ... 阅读更多

如何在 Java 9 中创建不可修改的 Map?

raja
更新于 2020-02-21 05:56:23

307 次浏览

不可修改的 Map 是一种一旦创建了 Map 的不可修改实例,其键和值就无法添加、删除或更新的 Map。来自 Map 的静态工厂方法:Map.of() 和 Map.ofEntries() 提供了一种在 Java 9 中创建不可修改映射的便捷方法。使用 Map.of() 和 Map.ofEntries() 方法创建的 Map 实例具有以下特征。工厂方法返回的 Map 通常是不可变的。这意味着无法添加、删除或更新键和值。在 Map 上调用任何修改器方法都会导致 UnsupportedOperationException。如果 Map 中包含的键/值本身是可变的,则可能会导致 Map... 阅读更多

如何在 Java 9 中创建不可修改的 List?

raja
更新于 2020-02-21 06:02:16

407 次浏览

如果一旦创建了 List 的不可修改实例,就无法从 List 中添加、删除或替换元素,则该 List 被认为是不可修改的。静态工厂方法:List.of() 提供了一种在 Java 9 中创建不可修改列表的便捷方法。使用 List.of() 方法创建的 List 实例具有以下特征。工厂方法返回的 List 通常是不可变的。这意味着无法从 List 中添加、删除或替换元素。在 List 上调用任何修改器方法都会导致 UnsupportedOperationException。如果 List 中包含的元素是可变的,则可能会导致 List 的内容看起来... 阅读更多

Java 9 中 Arrays 类中添加了哪些新方法?

raja
更新于 2020-02-24 06:08:30

182 次浏览

Arrays 类可以包含用于操作数组的各种方法,并且还包含允许将数组视为列表的静态工厂方法。Java 9 向 Arrays 类添加了三种重要方法:Arrays.equals()、Arrays.compare() 和 Arrays.mismatch()。Arrays.equal() - 在 Java 9 中,向 Arrays.equals() 方法添加了一些重载方法。新方法为两个提供的数组获取 fromIndex 和 toIndex 参数。这些方法根据它们的相关索引位置检查两个数组的相等性。语法public static boolean equals(int[] a, int aFromIndex, int aToIndex, int[] b, int bFromIndex, int bToIndex)在上述语法中,如果两个指定的数组... 阅读更多

如何在 Java 9 中创建不可修改的 Set?

raja
更新于 2020-02-21 06:23:39

166 次浏览

不可变的静态工厂方法 Set.of() 可以提供一种在 Java 9 中创建不可修改集合的便捷方法。使用 Set.of() 方法创建的集合实例具有以下特征。工厂方法返回的集合通常是不可变的。这意味着无法从 Set 中添加、删除或替换元素。在 Set 上调用任何修改器方法都会导致 UnsupportedOperationException。如果 Set 中包含的元素是可变的,则可能会导致 Set 的内容看起来发生变化。可以使用不允许 null 元素的静态工厂方法创建不可变集合。如果我们尝试使用 null 元素创建,则会抛出 NullPointerException。它... 阅读更多

如何在 Java 9 中初始化不可变集合?

raja
更新于 2020-02-21 13:00:50

1K+ 次浏览

Java 9 提供了工厂方法来创建不可变的列表、集合和映射。它可以用于创建空或非空的集合对象。在 Java 8 及更早版本中,我们可以使用集合类实用程序方法(如 unmodifiableXXX)来创建不可变的集合对象。如果我们需要创建一个不可变列表,则使用 Collections.unmodifiableList() 方法。这些工厂方法允许我们轻松初始化不可变集合,无论它们是空还是非空。不可变列表的初始化:List immutableEmptyList = List.of();在上面,我们初始化了一个空的、不可变的列表。不可变集合的初始化:Set immutableEmptySet = Set.of();在上面,我们初始化了一个空的、不可变的集合。不可变映射的初始化:Map immutableEmptyMap = Map.of();在… 阅读更多

Java 9 中 JShell 的有用命令有哪些?

raja
更新于 2020年2月24日 06:03:18

414 次查看

Java 9 引入了一个名为 JShell 的新的交互式工具。此工具可用于执行、测试以用户友好且简单的方式使用 Java 类、接口、枚举、对象、语句等。JShell 可以通过评估用户输入的命令来完成工作。它基于 REPL(读取-评估-打印-循环)的原理。以下是 JShell 中的一些重要命令/var - 此命令可用于获取所有已使用变量的列表。在执行计算时,JShell 会创建隐式变量。一旦我们键入 /var 命令,它就会显示到目前为止声明的所有变量。例如 $1、$2 和 $3 ... 阅读更多

广告