Java 17 中预览版switch支持null 以及 Object 为switch中的参数,相当于在case中使用了: xxx instance of 这样的语句。 由于Switch的一些功能在Java17中暂时只是预览,如果需要使用,那么在编译的时候就需要加上 --enable-preview 的参数,具体编译代码如下。 openjdk-17-ea+26_windows-x64_bin\jdk-17\bin>javac ...
所以,现在才开始学Java的,可以直接学用JDK 17。如果使用老版本学习资料进行学习,至少从JDK 8开始,而JDK 8之前的书,基本上都可以送废品收购站了。开关表达特性 模式匹配 Gaurded模式 null case模式匹配 它引入了一种新的开关特性,即模式匹配。您可以匹配case标签中的模式。换句话说,你可以在switch条件下传递...
换句话说,您可以在 switch 条件下传递对象,并且可以在 switch case 标签中检查该对象的不同类型。 return switch (obj) { case Integer i -> "It is an integer"; case String s -> "It is a string"; case Employee s -> "It is a Employee"; default -> "It is none of the known data type...
不仅如此,这次 switch 表达式还添加了对 null 的支持: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 staticvoidtestFooBar(String s){switch(s){casenull->System.out.println("Oops");case"Foo","Bar"->System.out.println("Great");default->System.out.println("Ok");}} ...
以及之前的switch只支持 数值和字符串常量的匹配 ,而现在还支持对对象的类型来进行匹配,例如: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 Object a=888;String who=switch(a){casenull->"is null";caseInteger i->String.format("i is %s",i);caseString s->String.format("s is string %s",...
switch-case里面的break语句 虽然在switch case的代码块里面每一个case里面的break语句不是强制要求的,但几乎所有的switch case代码块里面都会有break语句。在我们讨论break语句之前,先看看下面这个不用switch case里面的break语句: 在switch case语句里面的break语句虽然是可选项,但实际上几乎每次在写switch case语句中都...
Java 17在 2021 年 9 月 14 日正式发布,Java 17 是一个长期支持(LTS)版本,这次更新共带来 14 个新功能。 OpenJDK Java 17 下载:https://jdk.java.net/archive/ OpenJDK Java 17 文档:https://openjdk.java.net/projects/jdk/17/ 此文章属于Java 新特性教程系列,会介绍 Java 每个版本的新功能,可以点击...
Java switch case 语句 switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。 语法 switch case 语句格式: switch case 语句有如下规则: switch 语句中的变量类型可以是: byte、short、int 或者 char。
switch(s) { case IMyInterface.S1: System.out.println(IMyInterface.S1); break; case IMyInterface.S2: System.out.println(IMyInterface.S2); break; case IMyInterface.S3: System.out.println(IMyInterface.S3); break; } } public static void deployM(Week w) { ...
在switch语句中,表达式的值不能是null,否则会在运行时抛出NullPointerException。在case子句中也不能使用...