JDK13特性

JDK13特性

一、JAVA13概述

  2019年9月17日,国际知名的OpenJDK开源社区发布了Java编程语言环境的最新版本OpenJDK13。

Features:总共有5个新的JEP(JDK Enhancement Proposals):
http://openjdk.java.net/projects/jdk/13/

Features:

350:Dynamic CDS Archives:动态CDS档案
351:ZGC: Uncommit Unused Memory:ZGC:取消使用未使用的内存
353:Reimplement the Legacy Socket API:重新实现旧版套接字API
354:Switch Expressions (Preview):switch表达式(预览)
355:Text Blocks (Preview):文本块

二、语法层面特性

1.switch表达式(预览)

  在JDK 12中引入了switch表达式作为预览特性。JDK 13提出了第二个switch表达式预览。JEP 354修改了这个特性,它引入了yield语句,用于返回值。这意味着,switch表达式(返回值)应该使用yield, switch语句(不返回值)应该使用break。
  在 JDK 12中有一个,但是要进行一个更改:要从 switch 表达式中生成一个值 break,要删除with value语句以支持ayield 声明。目的是扩展,switch 以便它可以用作语句或表达式,因此两个表单既可以使用 case … : 带有连贯符号的传统标签,也可以使用新 case … -> 标签,而不需要通过,还有一个新的语句用于从 switch 表达式中产生值。这些更改将简化编码并为模式匹配做好准备。

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

String x = "3";
int i;
switch (x) {
   
	case "1":
		i=1;
		break;
	case "2":
		i=2;
		break;
	default:
		i = x.length();
		break;
}
System.out.println(i);

在JDK13中使用以下语法:

String x = "3";
int i = switch (x) {
   
	case "1" -> 1;
	case "2" -> 2;
	default -> {
   
		yield 3;
	}
};
System.out.println(i);

或者:

String x = "3";
int i = switch (x) {
   
	case "1":
		yield 1;
	case "2":
		yield 2;
	default:
		yield 3;
};
System.out.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值