JDK语言功能预览:切换表达式
JEP 12 [“预览语言和VM功能”]在其主页上描述如下:
预览语言或VM功能是Java SE平台的一项新功能,该功能已完全指定,完全实现但不是永久性的。 JDK功能发布中提供了该功能,以根据实际使用情况激发开发人员反馈。 这可能会导致它在将来的Java SE平台中永久存在。
顾名思义, JEP 325 [“ Switch Expressions(Preview)”]是“ 预览功能” 。 这样,JEP 325为使用JEP 12概述的过程预览新的语言功能提供了早期可见性。
OpenJDK jdk-dev邮件列表上的最新消息提供了JEP 325在帮助Java开发人员理解JEP 12和“预览功能”过程的意义上的有用证据。 关于开关表达式的“预览功能”性质的讨论(JEP 325)始于Mark Reinhold 于8月27日写的关于JEP 325的信息,“此处提出的几项反对意见并不是新的,因为已经提出并回答了反对意见。 amber-dev和amber-spec-experts列表。 因此,我已将此JEP定位于JDK12。” 该消息导致了更多有关对当前提议的“ switch expression ”语言实现提出异议的反馈消息。
为了回应某些对话(特别是担心一旦从JDK中包含最初的实现就无法更改它),Reinhold在8月28日的一条消息中写道:
…预览语言功能的重点是在不完全致力于当前设计的情况下邀请进一步的反馈,因此人们当然会使用它(我们希望!)。 但是,他们极不可能在生产中使用它,因为必须在编译时和运行时都在命令行上显式启用预览功能。 因此,我们可以根据新信息随意修改此设计,然后再将其刻入语言的基石。
JEP 12中讨论了当前为显式启用预览功能以进行编译时和运行时而提出的标志。 如目前所阐述的那样,预览功能的编译需要在命令行--release
javac编译器的两个标志: --enable-preview
--release
--enable-preview
和--release
。 同一文档显示了一个标记,需要在运行时将其传递给java启动器以启用预览功能: --enable-preview
enable --enable-preview
。
JEP 325已经在邮件列表上进行了重要的讨论,我在以前的博客文章“ Switch Expressions Coming Java? ”和“ 通过引入switch表达式来增强Java switch语句 。” 但是,讨论主要在amber-dev和amber-spec-experts邮件列表上进行,因此Brian Goetz提供了先前讨论要点的摘要以及做出与“ switch expressions”预览语言功能相关的决定的原因。 Goetz在此总结中总结了有关开关表达式的预览性质的这一陈述。
预览机制将使我们能够从实际使用中收集有关功能的反馈,而不是从没有任何理论上得出理论依据,并有可能在保证最终发布之前调整规格。 因此,如果由于实际经验而出现任何新问题,我们很高兴听到有关它们的消息。
在另一封(稍后)消息中 ,Goetz提供了更多与“预览功能”概念相关的背景细节。 他写了:
预览语言功能仍需要作为永久功能完成,并且级别与“完成”相同。 不同之处在于,我们有一个(较短的)“宽限期”,在此期间,我们有机会纠正已经泄漏到正常流程之外的严重错误,而不必支付不兼容罚金。 有了新的节奏,我希望大多数非平凡的语言功能都将通过“预览”机制进行。 这并不意味着它们是实验性的,或者质量较低,或者没有考虑太多。 但是,有时候确实会发生,只有在更广泛的受众尝试了这些东西之后,我们才发现意外的交互作用,为此,Preview提供了一个简短的窗口,可以纠正这些问题,如果它们能尽早发现。
Switch Expressions(JEP 325)提供了一个尝试JEP 12中概述的“预览语言功能”概念的机会。这一功能受到很多人的关注,也引起了人们的广泛关注,这使得它成为一个有趣的功能。将JEP 12进行测试。 当开发人员使用现在针对JDK 12的JEP 325的预览实现时,看到该功能的实际使用如何增强和削弱当前实现的论点会很有趣。
翻译自: https://www.javacodegeeks.com/2018/08/jdk-language-feature-switch-expressions.html
JDK语言功能预览:切换表达式相关推荐
- jdk8切换成jdk6_运行中的JDK语言功能预览:切换表达式
jdk8切换成jdk6 JEP 12 ["预览语言和VM功能"]在其主页上描述如下: 预览语言或VM功能是Java SE平台的一项新功能,该功能已完全指定,完全实现但不是永久性的. ...
- ai的预览模式切换_AI字体制作,用AI制作创意阶梯式文字
本篇教程通过AI制作一款创意阶梯式文字,教程中有很多知识点需要掌握,比如路径分割为网络,3D效果应用等,我们要利用他们创造出我们需要的文字出来,具体是如何制作的,我们通过教程一起来学习一下吧. 效果图 ...
- jep290涉及jdk版本_JDK 14 – JEP 361从预览中切换表达式
jep290涉及jdk版本 在我的前一篇文章中 ,我写了有关作为JDK 12的预览功能发布的开关表达式和相关增强功能的信息.随后,在JDK 13中提出了一些更改,例如使用yield关键字从switch ...
- JDK 14 – JEP 361从预览中切换表达式
在我以前的文章中 ,我写了有关作为JDK 12的预览功能发布的开关表达式和相关增强功能的信息.随后,在JDK 13中提出了一些更改,例如使用yield关键字从switch块返回值并在预览中发布. 在即 ...
- JDK 14如期发布,16个新特性快速预览
JDK 14已经于2020年3月17日如期发布.本文介绍JDK 14特性. JEP 305: instanceof的模式匹配(预览) 通过对instanceof运算符进行模式匹配来增强Java编程语言 ...
- Power Pivot表属性无法切换回表预览模式的问题
近期Office365用户升级后解决了在Power Pivot中输入中文的问题,但是同时也带来了一个新的问题就是表属性窗口默认为"查询编辑器"模式,且无法切换回"表预览& ...
- JavaFX 已从 JDK 中独立拆分,早期预览版开放下载
百度智能云 云生态狂欢季 热门云产品1折起>>> 今年 3 月,我们曾报道过 Oracle 从 JDK 11 开始将把 JavaFX 将作为独立模块从 JDK 中分离出来,以使 ...
- 模仿微信朋友圈 图片浏览 js javascript 支持图片预览,滑动切换,双指缩放,图片缓存
模仿微信朋友圈 图片浏览 js javascript 支持图片预览,滑动切换,双指缩放,图片缓存 2017年08月10日 12:11:38 阅读数:2311 previewImage-mobile 仿 ...
- Android 使用CameraX实现预览/拍照/录制视频/图片分析/对焦/缩放/切换摄像头等操作
1. CameraX架构 看官方文档 CameraX架构 有如下这一段话 使用CameraX,借助名为"用例"的抽象概念与设备的相机进行交互. 预览 : 接受用于显示预览的Surf ...
最新文章
- mass Framework event模块 v4
- python编码读法-python中文读法
- 01.analyzer简介及char_filter组件
- Linux16.04下配置Caffe,Pycaffe,matcaffe
- Mysql 零距离-入门(六)数据唯一约束性
- Linux命令之crontab命令
- 集合覆盖模型例题_在打CodeForces的过程中发现的一个小模型
- 苹果爸爸发飙,封杀 React Native?
- 南海区行政审批管理系统接口规范v0.3(规划) 5.投资项目联合审批系统API 5.1.【uploadFile】证件文书附件上传...
- 使用inno setup制作安装包
- ES6 新特性(深入浅出ES6—阮一峰)
- LaTex缺少宏包问题
- Java事务(7)——使用Transactional注解
- Leetcode 每日一题——845. 数组中的最长山脉
- 前端学习之百叶窗效果
- 带你Dart带你Diao之类
- FILCO连接WIN10出现PIN问题
- OpenCV如何去除图片中的阴影
- 今日头条 巨量引擎 marketing api
- 基于STM32设计的健康检测设备(测温心率计步)