从 Java 14 开始,yield 关键字已添加到 Java 语言中,用于实现 switch 表达式。

它用于从 switch 表达式中的 case 返回值。 例如:

int x = switch (dayOfWeek) {

case MONDAY:

yield 2;

case TUESDAY:

yield 3;

case WEDNESDAY:

yield 4;

default:

yield 0;

};

如果 switch 表达式中使用了 “case L->” 这样的形式来返回值,那么 yield 关键字用于从 case 的代码块中返回值。 例如:

int x = switch (dayOfWeek) {

case MONDAY -> 2;

case TUESDAY -> 3;

case WEDNESDAY -> 4;

case THURSDAY, FRIDAY -> 5;

case SATURDAY, SUNDAY -> {

// line 1..

// line 2...

// line 3...

yield 8;

}

};

注意 yield 后面的代码可以是一个返回值的表达式。 例如:

int days = switch (month) {

case 1, 3, 5, 7, 8, 10, 12:

yield 31;

case 4, 6, 9:

yield foo();

case 2:

yield (year % 4 == 0 ? 29 : 28);

default:

throw new IllegalArgumentException();

};

在此示例中,foo() 是可以返回整数值的方法。

Java yield详解_Java 中的 yield 关键字相关推荐

  1. java list详解_Java 中 list 用法案例详解

    LIST是个容器接口可以理解为动态数组,传统数组必须定义好数组的个数才可以使用,而容器对象无须定义好数组下标总数,用add()方法即可添加新的成员对象,他可以添加的仅仅只能为对象,不能添加基本数据类型 ...

  2. java构造器详解_Java中关于构造器的使用详解

    这篇文章主要介绍了Java构造器使用方法及注意事项的相关资料,这里举例说明如何使用构造器及需要注意的地方,需要的朋友可以参考下 Java构造器使用方法及注意事项 超类的构造器在子类的构造器运行之前运行 ...

  3. java final 详解_java中Final详解

    Java中的final关键字非常重要,它可以应用于类.方法以及变量.这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使 ...

  4. java collection详解_Java中的Collection详解

    在使用Java的时候,我们都会遇到使用集合(Collection)的时候,但是Java API提供了多种集合的实现. 总的说来,Java API中所用的集合类,都是实现了Collection接口,他的 ...

  5. java dateutils详解_java中DateUtils时间工具类详解

    package com.example.administrator.myapp; import java.text.ParseException; import java.text.SimpleDat ...

  6. java中匿名内部类详解_java 中匿名内部类的实例详解

    搜索热词 java 中匿名内部类的实例详解 原来的面貌: class TT extends Test{ void show() { System.out.println(s+"~~~哈哈&q ...

  7. file java详解_Java中File的实例详解

    Java中File的实例详解 File 代表文件或者目录的类 构造函数 File(File parent,String child)---代表了指定父目录下的指定的子文件或者子目录 File(Stri ...

  8. java字符编码详解_Java中字符编码格式详解

    一.前言 在分析Comparable和Comparator的时候,分析到了String类的compareTo方法,String底层是用char[]数组来存放元素,在比较的时候是比较的两个字符串的字符, ...

  9. java中final详解_Java中final用法与详解

    Java中final用法与详解 final作为Java中经常用到的关键字,了解final的使用方法是非常有必要的.这里从final关键字在数据域.方法和类中三个方面分析final关键字的主要用法. f ...

最新文章

  1. 《C++游戏编程入门(第4版)》——1.12 习题
  2. 腾讯99公益日︱深圳市慈善会:那些无力的故事,都拥有了力量
  3. 虚拟机ubuntu搭建ftp服务器配置,虚拟机VMware15 Ubuntu18.04 搭建FTP服务器
  4. springboot整合spring @Cache和Redis
  5. 山羊与汽车游戏的实验算法
  6. Android初级教程:Android中解析方式之pull解析
  7. Hadoop数据压缩 与 数据清洗ETL
  8. Pytorch(0)降低学习率torch.optim.lr_scheduler.ReduceLROnPlateau类
  9. matlab和气象,matlab在气象上的应用
  10. 金蝶kis专业版 服务器系统,金蝶kis专业版服务器设置
  11. 区块链学习笔记20——权益证明
  12. 开发用于异构环境的可生存云多机器人框架
  13. python爬取淘宝数据
  14. 傅里叶分析之掐死教程(完整版)(转)
  15. C#中的NewLine到底是什么字符?
  16. 计算机基础和photoshop的应用,一级计算机基础与Photoshop应用真题
  17. 谷歌浏览器后提示Adobe Flash Player因过期而遭到阻止
  18. matlab-K折交叉验证与分层K折交叉验证
  19. 性能优化:nginx静态压缩,网页速度倍级提升
  20. 安装python2.7安装方法_python2.7环境如何安装

热门文章

  1. SAP S4 HANA-The future is here?
  2. OC字符串转C语言字符串
  3. 看到南京饿死两个女竟的报道
  4. 光盘引导和网络安装linux系统
  5. 《以前工作中的三大痛点,只因他们没学Python》
  6. 入门系列之在Ubuntu上安装Drone持续集成环境
  7. linux架构师高级系统调优策略
  8. 简单高效 测试MDaemon10.12的过程
  9. 一位数据科学家的私房工具清单
  10. 全球最大保险公司之一Ace推出一亿美元网络安全险