找到 2637 篇文章 关于 Java

如何在 Java 9 的 JShell 中定义 switch 语句?

raja
更新于 2020年4月23日 18:43:42

128 次浏览

JShell 基于 Java 9 中引入的 REPL(读取-求值-打印-循环)。此工具可用于执行简单语句,对其进行求值并打印结果。switch 语句可以像 else 子句一样测试多个条件,并处理默认可能性。当没有一个 case 匹配时,可以执行 default 子句,并且可以使用 break 语句在成功匹配后跳出 switch。在下面的代码片段中,我们可以在 JShell 中定义 switch 语句。片段 1 jshell> int i = 10; i ==> 10 jshell> switch(i) { ...> case 1 ... 阅读更多

如何在 Java 9 的 JShell 中使用终端流操作?

raja
更新于 2020年4月23日 14:28:12

201 次浏览

JShell 是一个交互式工具,它接受简单的语句、表达式等作为输入,对其进行求值,并将结果立即打印给用户。终端操作是一种流操作,它以流作为输入,并且不返回任何输出流。例如,可以将终端操作应用于 lambda 表达式,并返回单个结果(单个原始值/对象或单个对象集合)。reduce()、max() 和 min() 方法就是这样一些终端操作。在下面的代码片段中,我们可以在 JShell 中使用不同的终端操作:min()、max() 和 reduce() 方法。片段 jshell> IntStream.range(1, 11).reduce(0, (n1, n2) -> n1 + n2); $1 ... 阅读更多

如何在 Java 9 中使用线程获取堆栈跟踪?

raja
更新于 2020年4月23日 12:19:48

407 次浏览

Java 9 添加了 StackWalker 类,以提供访问当前线程堆栈的标准 API。在以前的 Java 版本中,我们可以使用 Throwable::getStackTrace、Thread::getStackTrace 和 SecurityManager::GetClassContext 提供的方法来获取线程堆栈。Thread.getStackTrace() 方法将返回一个堆栈跟踪元素数组,表示线程的堆栈转储 (StackTraceElement[])。数组的第一个元素表示堆栈的顶部,它可能是序列中的最后一次方法调用,而数组的最后一个元素表示堆栈的底部,它可能是序列中的第一次方法调用。语法 public StackTraceElement[] ... 阅读更多

如何在 Java 9 的 JShell 中使用中间流操作?

raja
更新于 2020年4月23日 09:49:02

253 次浏览

JShell 是 Java 9 中引入的一个工具,它接受表达式、变量、方法、类等简单的语句作为输入,并产生即时结果。流是一系列值。中间流操作是一个采用流的操作。例如,它可以应用于 lambda 表达式,并产生另一个元素流作为其结果。下面提到了最流行的中间流操作:1) sorted(): 此方法保留使用流的元素作为结果,但也按自然排序顺序排列它们。2) distinct(): 此方法返回一个流,只保留输入的唯一元素... 阅读更多

如何在 Java 9 中使用 JShell 实现 java.time.LocalDate?

raja
更新于 2020年4月22日 17:32:06

527 次浏览

JShell 是 Java 9 中引入的 REPL(读取-求值-打印-循环)交互式工具,它接收输入,对其进行求值,并将输出返回给用户。java.util.LocalDate 类提供许多方法来检索日期信息:日/月/年和相关的属性日期元信息:例如闰年等分类相关信息。LocalDate 类是不可变的,我们可以使用提供的不同方法来添加和减去天、月和年。这些方法中的每一个都返回一个新的 LocalDate 实例。在下面的两个代码片段中,我们可以打印使用 LocalDate 类执行的不同操作。片段 1 jshell> import java.time.*; jshell> LocalDate today = LocalDate.now() today ==> 2020-04-22 jshell> today.getYear() $3 ==> ... 阅读更多

Java 9 中 Publisher 接口的规则是什么?

raja
更新于 2020年4月22日 16:22:48

618 次浏览

Publisher 是一个提供无限数量的按顺序排列的元素的提供者,它根据从其订阅者收到的需求发布这些元素。Publisher 接口负责发布类型为 T 的元素,并为订阅者提供一个 subscribe() 方法来连接到它。public interface Publisher {    public void subscribe(Subscriber

如何在 Java 9 的 JShell 中实现关系运算符和逻辑运算符?

raja
更新于 2020年4月22日 11:11:58

135 次浏览

JShell 在 Java 9 中引入,使我们能够探索、发现和试验 Java 语言特性和广泛的库。关系运算符(==、!=、=)主要用于比较。它接受非布尔基本数据类型的操作数并返回布尔值。JShell 还支持逻辑运算符,可用于表达式中。逻辑运算符可以期望布尔操作数。涉及这些操作数的表达式可用于在 if、for 和 while 语句中的代码中形成布尔条件。逻辑运算符包括:“&&:逻辑 AND”、“||:OR”和“!:NOT”。在下面的两个代码片段中,我们可以... 阅读更多

Java 9 中 Subscription 接口的规则是什么?

raja
更新于 2020年4月22日 08:10:29

282 次浏览

Subscription 可以由一个 Publisher 和一个 Subscriber 精确共享,用于协调数据交换。这就是 subscribe() 方法不返回创建的 Subscription,而是返回 void 的原因。Subscription 仅通过 onSubscribe() 方法回调传递给 Subscriber。Subscription 接口包含两个方法:request() 和 cancel()。语法 public interface Subscription {    public void request(long n);   public void cancel(); } Subscription 接口规则:Subscription.request() 和 Subscription.cancel() 方法必须仅在其 Subscriber 上下文中调用。Subscription 必须允许 Subscriber 从 onNext() 或 onSubscribe() 方法中同步调用 Subscription.request() 方法。Subscription.request() 方法必须放置一个上限... 阅读更多

Java 9 中 @Deprecated 注解有哪些改进?

raja
更新于 2020年4月21日 18:23:10

92 次浏览

任何可以用 @Deprecated 注解的元素都表示该元素不再出于以下原因而使用:使用它有风险,可能会导致错误。在将来的版本中可能不兼容。可能在将来的版本中被删除。更好的、更高效的解决方案已经取代了它。Java 9 添加了两个新元素:since 和 forRemoval 属性。1) since:该元素指定已弃用的已注释 API 元素的版本。2) forRemoval:表示已注释的 API 元素可以在将来的版本中删除,并且可以迁移 API。以下网页是 Java 9 中 Boolean 类的文档。@Deprecated 注解... 阅读更多

如何在 Java 9 的 try-with-resources 语句中声明多个资源?

raja
更新于 2020年4月21日 14:46:32

阅读量1K+

Java 9改进了try-with-resources语句。如果我们已经拥有一个最终变量或等效于最终变量的资源,那么我们可以在try-with-resources语句中使用该变量,而无需在try-with-resources语句中声明新变量。我们可以在try块中声明多个资源。try初始化块可以包含任意数量的资源,这些资源可能为null或非null。在下面的示例中,我们可以在try-with-resources语句中声明多个资源。示例:import java.io.BufferedReader; import java.io.IOException; import java.io.Reader; import java.io.StringReader; public class MultipleResourcesTest { public static void main(String args[]) throws ... 阅读更多

广告