Java 12:开关表达式

在Java 12中,对switch语句进行了增强,以便可以将其用作表达式。 现在也可以在一种情况下打开多个常量,从而使代码更简洁易读。 这些增强是预览语言功能 ,这意味着必须使用--enable-preview标志在Java编译器和运行时中显式启用它们。

考虑以下switch语句:

 int result = - 1 ;  switch (input) { case 0 : case 1 : result = 1 ; break ; case 2 : result = 4 ; break ; case 3 : System.out.println( "Calculating: " + input); result = compute(input); System.out.println( "Result: " + result); break ; default : throw new IllegalArgumentException( "Invalid input " + input);  } 

在Java 12中,可以使用switch表达式将其重写,如下所示:

 final int result = switch (input) { case 0 , 1 -> 1 ; case 2 -> 4 ; case 3 -> { System.out.println( "Calculating: " + input); final int output = compute(input); System.out.println( "Result: " + output); break output; } default -> throw new IllegalArgumentException( "Invalid input " + input);  }; 

如上图所示:

  • 在表达式中使用该switchresult整数分配一个值
  • 在单个case有多个标签用逗号分隔
  • 新的case X ->语法没有任何缺陷。 仅执行箭头右边的表达式或语句
  • break语句接受一个参数,该参数成为switch表达式返回的值(类似于return

翻译自: https://www.javacodegeeks.com/2019/06/java-12-switch-expressions.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/341690.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是网络延长器?

网络延长器就是能够把网络传输距离有效延长的设备,网络延长器能够突破传统以太网传输距离100米以内的限制,可以通过双绞线将100M网络传输500米,10M网络传输1500米甚至更长。它将网络的传输距离的极限从铜线的100米扩展到千米以上,…

什么是延长器?延长器常见类型介绍

延长器是用来延长信号的器件,通常用于长距离直连线材无法满足传输要求的情况,一般是为了确保信号长距离无衰减的传输而设计,因此多是有源的。那么,什么是延长器?延长器的常见类型有哪些呢?接下来我们就一起…

solr 模糊匹配_Solr中的前缀和后缀匹配

solr 模糊匹配搜索引擎都是关于查找字符串的。 用户输入一个查询词,然后从反向索引中检索它。 有时,用户正在寻找的值只是索引中值的子字符串,并且用户可能也对这些匹配感兴趣。 对于德语这样的包含复合词(如Semmelkndel&#xff…

视频编解码器常见问题介绍

视频编解码器,是指一个能够对数字视频进行压缩或者解压缩的程序或者设备。通常这种压缩属于有损数据压缩。历史上,视频信号是以模拟形式存储在磁带上的。那么,我们在使用视频编解码器的过程中遇到的一些常见问题有哪些呢?接下来我…

Java中的双重检查锁定

在本文中,我们将介绍在RxJava中创建Singleton对象的一些技术。 最重要的是,我们将学习Java中的双重检查锁定 。 Java中的Singleton模式是一种创新模式。 随着时间的流逝,人们开始关注Singleton模式的使用和实现。 这是由于单例的实现和使用方…

视频干扰的原因及解决方法

我们在视频监控和视频传输会议中常常会遇到视频信号被干扰的困扰,由于视频干扰产生画面抖动、显示模糊等显示问题,严重影响使用效果。那么这些干扰信号时如何产生的,又该如何解决呢?接下来我们就跟随飞畅科技的小编一起来详细了解…

网络监控系统安装的4种方式,安防必备

现如今,随着人们安防意识的提高,监控从业人员也越来越多。对于刚刚加入这个行业的新人来讲,可能首先要从最基层的监控设备安装做起。只有在实践中不断积累经验技术,才有可能独当一面、快速成长。作为一名新手,网络监控…

it编年史_Java的编年史和低延迟

it编年史总览 我正在看Typesafe的Rolan Kuhn在介绍React流方面的精彩演讲,乍一看似乎与《纪事报》有一些相似的目标,但是当您深入研究细节时,很明显我有一些关键的假设根本不同。 关键假设 《纪事》设计的主要假设是 低延迟是您的问题&#…

智慧磐石工程项目系统组成

武警部队智慧磐石工程以五防一体化建设为基础,融入各类前沿智能检测、识别、控制等相关技术,通过整合指挥、监控、防护、报警、通信、处置要素,实现信息智能管理、环境智能分析、通道智能防范、监控智能识别、险情智能感知、枪弹智能管控、情…

网络延长器分为哪几类?其应用领域有哪些?

网络延长器具有超低传输时延,能够线速转发数据包。网络延长器采用自主产权的LRE(Long- Reacher Ethernet)长线以太网驱动技术,能有效延长以太网传输距离达700米,同时保障最大传输带宽。基本原理是通过信号整形放大&…

Java项目:书评

本文是关于这本书的 Peter Verhas撰写的Java Projects Second Edition 我去年写的 这样一篇文章的目的通常是为了促进这本书的销售。 在这种情况下没有什么不同,但是由于这是我写的书,而且我是撰写评论的人,因此赞美这本书将非常尴尬。 所以…

信号延长器常见故障问题及解决方案汇总

延长器是用来延长信号的器件,通常用于长距离直连线材无法满足传输要求的情况,一般是为了确保信号长距离无衰减的传输而设计,因此多是有源的。我们在使用信号延长器的过程中难免会遇到各种各样的故障问题,那么我们该如何解决呢&…

一文读懂视频监控系统全过程内容

视频监控系统由实时控制系统、监视系统及管理信息系统组成。视频监控系统是安全防范系统的组成部分,它是一种防范能力较强的综合系统。视频监控以其直观、方便、信息内容丰富而广泛应用于许多场合。接下来就由飞畅科技来为大家详细介绍下视频监控系统的全过程&#…

以太网识别标准及接线标准、接线方法详解

以太网是目前应用最普遍的局域网技术,取代了其他局域网技术如令牌环、FDDI和ARCNET。为了使网络系统中的软硬件设备不受生产厂家和型号等不同的限制,制定了各种各样的标准来保证他们之间的相互通,以太网标准就是其中之一,IEEE组织…

Spring Framework中的作用域代理

Spring框架提供了Spring bean的作用域。 我们可以使用spring范围控制插入Spring bean的各种依赖关系和配置值。 Spring支持以下六个范围。 在基于Web的应用程序中可以使用六个中的四个: 范围 描述 辛格尔顿 它是Spring框架中的默认范围。 对于每个Spring IOC容…

中继器、集线器、网桥、网关产品介绍

在了解通信原理之前,我们首先要对通信常用的设备进行熟悉,计算机网络体系中,有几样通信设备或者说网络名词出现的频率相当高,它们是:中继器、集线器、网桥、交换机、路由器和网关。其实,弄清楚这几个计算机…

串口转换器的工作方式及通讯模式介绍

串口转换器能让您在配有RS-232的系统上使用RS-422及RS-485。它透明地将RS-232信号转成隔离的RS-422或RS-485信号。对此,您无需改变PC机任何的硬件或软件就能让您利用标准的PC硬件,来轻松构建一个工业级的长距离通信系统;基于TCP/IP和RS-485/4…

java8根据某个id删选_Java 8可选:如何使用它

java8根据某个id删选Java 8带有新的Optional类型,类似于其他语言中可用的类型。 这篇文章将介绍这种新类型的使用方式,即主要用途。 什么是可选类型? 可选的是新容器类型,如果有可用值,则该容器类型将包装单个值。 因…

Java中的瞬态关键字及其使用

最近,我在一个朋友的一个研究项目中遇到了十字架,他们正在学习Java编程的基础知识,一些忘记的敏感信息打印在文本文件中,并记住了Java中的瞬时关键字。 Java中的瞬时关键字在安全性方面起着重要作用,并且在上述类似的…

RS-232/E1协议转换器产品介绍

RS-232/E1协议转换器是我公司自主研发生产的高性能产品,它将透明E1转换为V.35或者RS232的异步数据接口的接口转换设备,本设备V.35接口可以连接DCE或DTE两种工作方式的设备,RS232接口只支持异步RS232数据,可支持的最高异步速率为11…