jdk13新特性,主要有五方面,其中2点(switch支持返回值和多行字符串)跟开发者息息相关

JDK13于9月17日正式发布。目前该版本包含的特性已经全部固定,主要包含以下五个:
jdk13新特性,主要有五方面,其中2点(switch支持返回值和多行字符串)跟开发者息息相关

具体细节,请参考其他相关博客,下面重点说明跟开发者相关的2点特性:

1.Switch Expressions (Preview)

在JDK 12中引入了Switch表达式作为预览特性。JEP 354修改了这个特性,它引入了yield语句,用于返回值。这意味着,switch表达式(返回值)应该使用yield, switch语句(不返回值)应该使用break。

在以前,我们想要在switch中返回内容,还是比较麻烦的,一般语法如下:

jdk13新特性,主要有五方面,其中2点(switch支持返回值和多行字符串)跟开发者息息相关
在JDK13中使用以下语法:

jdk13新特性,主要有五方面,其中2点(switch支持返回值和多行字符串)跟开发者息息相关
或者
jdk13新特性,主要有五方面,其中2点(switch支持返回值和多行字符串)跟开发者息息相关
在这之后,switch中就多了一个关键字用于跳出switch块了,那就是yield,他用于返回一个值。和return的区别在于:return会直接跳出当前循环或者方法,而yield只会跳出当前switch块。

2.Text Blocks (Preview)

在JDK 12中引入了Raw String Literals特性,但在发布之前就放弃了。这个JEP在引入多行字符串文字(text block)在意义上是类似的。

text block,文本块,是一个多行字符串文字,它避免了对大多数转义序列的需要,以可预测的方式自动格式化字符串,并在需要时让开发人员控制格式。

我们以前从外部copy一段文本串到Java中,会被自动转义,如有一段以下字符串:

jdk13新特性,主要有五方面,其中2点(switch支持返回值和多行字符串)跟开发者息息相关
将其复制到Java的字符串中,会展示成以下内容:

jdk13新特性,主要有五方面,其中2点(switch支持返回值和多行字符串)跟开发者息息相关

使用“”“作为文本块的开始符合结束符,在其中就可以放置多行的字符串,不需要进行任何转义。看起来就十分清爽了。

如常见的SQL语句:

jdk13新特性,主要有五方面,其中2点(switch支持返回值和多行字符串)跟开发者息息相关