近期 Java 界好消息频传。先是 Java 13 发布,接着 Eclipse 也发布了新版本表示支持新版本的Java 特性。 本文介绍了 Java 13 的新特性并展现了相关的示例。html
2019年9月17日,Java 13 正式发布。特性以下。java
此版本带来了如下几大新特性:git
JDK 13下载地址为 https://www.oracle.com/technetwork/java/javase/downloads/index.html。github
以Windows环境为例,可经过jdk-13_windows-x64_bin.exe或jdk-13_windows-x64_bin.zip来进行安装。 .exe文件的安装方式较为简单,按照界面提示点击“下一步”便可。express
下面演示.zip安装方式。windows
将jdk-13_windows-x64_bin.zip文件解压到指定的目录下便可。好比,本例子放置在了D:\Program Files\jdk-13
位置。oracle
建立系统变量“JAVA_HOME”,其值指向了JDK的安装目录。eclipse
在用户变量“Path”中,增长“%JAVA_HOME%\bin”。ui
注: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 下载地址为 https://www.eclipse.org/downloads/packages/。本例使用的是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案例大全”。