Redian新闻
>
7个理由:从Java8升级到Java17

7个理由:从Java8升级到Java17

公众号新闻

从Java 8 到 Java 20,Java 已经走过了漫长的道路,自 Java 8 以来,Java 生态系统发生了很多变化。最显着的变化是 Java 的发布节奏。Java 8 于 2014 年发布,Java 17 于 2021 年发布。这两个版本之间相隔了 7 年。Java17是一个长期支持(LTS)的版本,会有更稳定和持久的维护和更新。

如果你和我一样,已经使用Java 8很长时间了,觉得需要了解一下Java的新特性,那么这篇文章就是为你准备的。


自从Java 8以来,Java增加了很多新特性,但并不是所有的特性都有用和受欢迎。所以我整理了一个列表,列出了自Java 8以来Java增加的最受开发者欢迎的特性,你可以用它作为参考来迁移。


1. 局部变量类型推断



这是自 Java 8 以来添加到 Java 中的最受欢迎的功能之一。它允许你在不指定类型的情况下声明局部变量。类型是从表达式的右侧推断出来的。此功能也称为var类型。

在上面的示例中,两个程序将生成相同的输出,但在 Java 10 的情况下,我们使用而var不是指定类型。


2.switch表达式



在 Java 14 中使用 switch 表达式时,你不必使用关键字break来跳出 switch 语句或return在每个 switch case 上使用关键字来返回值;相反,你可以返回整个 switch 表达式。这种增强的 switch 表达式使整体代码看起来更清晰,更易于阅读。


3.文本块



文本块是 Java 15 中添加的一项新功能。它允许你在不使用转义序列的情况下创建多行字符串。这在你创建 SQL 查询或 JSON 字符串时非常有用。在下面的示例中,你可以看到使用文本块时代码看起来更加简洁。


4.Records



记录Records是添加到 Java 14 的一项新功能。它允许你创建用于存储数据的类。它类似于 POJO 类,但代码少得多;大多数开发人员使用 Lombok 生成 POJO 类,但是有了记录,你就不需要使用任何第三方库。在下面的示例中,你可以看到创建记录类所需的代码非常少。


5.模式匹配instanceof



模式匹配instanceof是 Java 16 中添加的一项新功能。它允许你将instanceof运算符用作返回已转换对象的表达式。当你使用嵌套的 if-else 语句时,这非常有用。在下面的示例中,你可以看到我们如何使用instanceof运算符来捕获Employee对象,而不是进行显式转换。


6. 密封类



密封类是添加到 Java 17 中的一项新功能。它允许你将类或接口的继承限制为一组有限的子类。当你想将类或接口的继承限制为一组有限的子类时,这非常有用。在下面的示例中,你可以看到我们如何使用sealed关键字将类的继承限制为一组有限的子类。

密封类的子类可以声明为finalnon-sealed。final 子类不能进一步扩展,而非密封子类可以进一步扩展。


7. 有用的 NullPointerException



NullPointerExceptions 是 Java 14 中添加的一项新功能。它允许你获取有关NullPointerExceptions. 这在调试时非常有用NullPointerExceptions。在下面的示例中,你可以看到相同的代码如何NullPointerExceptions在 Java 8 和 Java 14 中生成不同的结果,但在 Java 14 中,你可以获得有关异常的更多信息

我没有介绍自 Java 17 以来添加到 Java 的所有功能,但介绍了最流行的功能。如果你想了解更多关于 Java 的新特性,可以查看下面提供的链接。

参考

  • JDK 10 功能 — https://openjdk.org/projects/jdk/10/
  • JDK 11 功能 — https://openjdk.org/projects/jdk/11
  • JDK 12 功能 — https://openjdk.org/projects/jdk/12
  • JDK 13 功能 — https://openjdk.org/projects/jdk/13
  • JDK 14 功能 — https://openjdk.org/projects/jdk/14
  • JDK 15 功能 — https://openjdk.org/projects/jdk/15
  • JDK 16 功能 — https://openjdk.org/projects/jdk/16
  • JDK 17 功能 — https://openjdk.org/projects/jdk/17

来源:程序小媛
后端专属技术群

构建高质量的技术交流社群,欢迎从事编程开发、技术招聘HR进群,也欢迎大家分享自己公司的内推信息,相互帮助,一起进步!

文明发言,以交流技术职位内推行业探讨为主

广告人士勿入,切勿轻信私聊,防止被骗

加我好友,拉你进群

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
知情人士回应辛巴抖音被封,苹果M3Max跑分曝光,微信输入法可跨设备复制粘贴,闲鱼1688升为一级业务,这就是今天的其他大新闻!旅美散记(02):火车上巧遇美国中学生实现饮料自由:免费 2 个月 Panera Bread Unlimited 无限畅饮会员,每天免费喝饮料!亚裔妹纸坐飞机竟被赶走!空乘给出这个理由,网友吵翻了...大疆Mini 4 Pro首发体验:航拍新手?我有10个理由让你选它!美股升势能延续至年底吗?五大理由:是的!让你爱上大运河的128个理由1-3年级到底看什么数学绘本?答案来了.....蘇拉颶風令香港人過了一個大自然節日终于又找到2个理由,去这家光顾过无数次的虾图湘菜顶流吃!吃!吃!华尔街最高薪!DBC职梦学员收到Jane Street (US)暑期实习终面邀请华尔街最高薪!DBC职梦学员收到Jane Street (US)实习二面邀请韩红的偶像是谁?她的新古典音乐作品也不错。大一大二高薪岗!DBC职梦学员收到Jane Street (US)实习二面邀请团队管理:1个理念、4个原则、7个步骤、10条建议带好你的团队!热泵配暖炉,钱包变满足!政府补贴帮你实现冬天取暖自由:想开几度开几度华尔街最高薪!DBC职梦学员收到Jane Street (US) 暑期实习终面邀请DBC职梦学员已收到J.P.Morgan (US) 2024暑期实习Quant终面邀请!万锦难民求加拿大别驱逐家人!理由:妻子患重病回国治不了,儿子只会英语一起拼的1000个理由获得食盐自由:中国古人走过怎样一段路澳洲207个区房价升值超$50万,维州17个区上榜,业主笑疯至少别在今天死去的86个理由维也纳和布拉迪斯拉瓦掠影经济舱变成“床”?亚裔男从JFK起飞回国 直接躺了15小时 网友大赞不堪长期被问为什么不要小孩,澳洲模特一口气列举了自己不要小孩的100多个理由...DBC职梦学员已收到J.P.Morgan (US) 2024全职二面邀请!MiniGPT-4升级到MiniGPT-v2了,不用GPT-4照样完成多模态任务华人为何“扎堆”列治文?喜欢这里的5个理由,你认可吗?恭喜美硕学员收到J.P.Morgan (HK) 2024暑期实习Superday邀请!在这个世界停留需要一点理由, 我的理由是这里有书|隐二 一席第1010位讲者彰武路今昔选择美国Psy.D.项目的4个理由Target将关闭纽约市在内的9家门店 理由:盗窃和暴力第四届“爱上北京的100个理由”短视频征集大赛在京启动
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。