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进群,也欢迎大家分享自己公司的内推信息,相互帮助,一起进步!

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

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

加我好友,拉你进群

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

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