近期 java 界好消息频传。先是 java 13 发布,接着 eclipse 也发布了新版本表示支持新版本的 java 特性。
本文介绍了 java 13 的新特性并展示了相关的示例。
2019 年 9 月 17 日,java 13 正式发布。特性如下。
此版本带来了以下几大新特性:
jdk 13 下载地址为 。
以 windows 环境为例,可通过 jdk-13_windows-x64_bin.exe 或 jdk-13_windows-x64_bin.zip 来进行安装。 .exe 文件的安装方式较为简单,按照界面提示点击 “下一步” 即可。
下面演示. zip 安装方式。
将 jdk-13_windows-x64_bin.zip 文件解压到指定的目录下即可。比如,本例子放置在了d:\program files\jdk-13
位置。
创建系统变量 “java_home”,其值指向了 jdk 的安装目录。
在用户变量 “path” 中,增加“%java_home%\bin”。
注:jdk13 已经无需再安装 jre,设置环境变量时也不用设置 classpath 了。
执行 “java -version” 命令进行安装的验证:
$ java -version java version "13" 2019-09-17 java(tm) se runtime environment (build 13+33) java hotspot(tm) 64-bit server vm (build 13+33, mixed mode, sharing)
如果显示上述信息,则说明 jdk 已经安装完成。
如果显示的内容还是安装前的老 jdk 版本,则可按照如下步骤解决。
首先,卸载老版本的 jdk
其次,在命令行输入如下指令来设置 java_hom 和 path:
>set java_home=d:\program files\jdk-13 >set path=%java_home%\bin
在 java 13 发布两天后的 2019 年 9 月 19 日,eclipse ide 2019-09 发布。eclipse ide 2019-09 声称支持 java 13。接下里将演示如何使用 eclipse ide 2019-09 编写 java 13 的示例。
eclipse ide 2019-09 下载地址为 。本例使用的是 eclipse 4.14 版本。
下面是原有的 switch 表达式的写法:
switch (day) { case monday: case friday: case sunday: system.out.println(6); break; case tuesday: system.out.println(7); break; case thursday: case saturday: system.out.println(8); break; case wednesday: system.out.println(9); break; }
在 java 12 中,switch 表达式可以改为如下写法:
switch (day) { case monday, friday, sunday -> system.out.println(6); case tuesday -> system.out.println(7); case thursday, saturday -> system.out.println(8); case wednesday -> system.out.println(9); }
还能支持在表达式中返回值:
int numletters = switch (day) { case monday, friday, sunday -> 6; case tuesday -> 7; case thursday, saturday -> 8; case wednesday -> 9; };
在 java 13 中,switch 表达式可以改为如下写法:
int date = switch (day) { case monday, friday, sunday : yield 6; case tuesday : yield 7; case thursday, saturday : yield 8; case wednesday : yield 9; default : yield 1; // default条件是必须的 }; system.out.println(date);
需要注意的是,在使用 yield 时,必须要有 default 条件。
自 java 13 开始,支持文本块(text blocks)。
以下是 java 13 之前的文本块的处理方式的示例:
string html = "<html>\n" + " <body>\n" + " <p>hello, world</p>\n" + " </body>\n" + "</html>\n"; system.out.println(html);
在上述示例中,由于文本块需要换行,所以产生了很多本文的拼接和转义。
以下是 java 13 中的文本块示例:
string html2 = """ <html> <body> <p>hello, world</p> </body> </html> """; system.out.println(html2);
在上述示例中,对于文本块的处理变得简洁、自然。
以上两个示例在控制台输出内容都是一样的,效果如下:
<html> <body> <p>hello, world</p> </body> </html>
“不积跬步,无以至千里”,希望未来的你能:有梦为马 随处可栖!加油,少年!
关注公众号:「java 知己」,每天更新java知识哦,期待你的到来!
如对本文有疑问, 点击进行留言回复!!
[杭电多校2020]第一场 1004 Distinct Sub-palindromes
Swift -- 将本地生成的UIImage进行持久化保存(存到文件中fileManager.createFile)
网友评论