0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

简单了解Java的新特性

jf_ro2CN3Fa 来源:程序小媛 2023-11-23 16:38 次阅读

来源:程序小媛

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类型。

ffd4bc74-7bbb-11ee-939d-92fbcf53809c.png

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

2.switch表达式

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

ffdf8276-7bbb-11ee-939d-92fbcf53809c.png

3.文本块

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

fff67b52-7bbb-11ee-939d-92fbcf53809c.png

4.Records

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

00127c58-7bbc-11ee-939d-92fbcf53809c.png

5.模式匹配instanceof

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

002ac650-7bbc-11ee-939d-92fbcf53809c.png

6.密封类

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

0043ecfc-7bbc-11ee-939d-92fbcf53809c.png

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

7.有用的 NullPointerException

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

0062d19e-7bbc-11ee-939d-92fbcf53809c.png

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

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • JAVA
    +关注

    关注

    19

    文章

    2904

    浏览量

    102994
  • Switch
    +关注

    关注

    1

    文章

    514

    浏览量

    57538
  • 程序
    +关注

    关注

    114

    文章

    3631

    浏览量

    79541
  • 代码
    +关注

    关注

    30

    文章

    4555

    浏览量

    66766

原文标题:7个理由:从Java8升级到Java17

文章出处:【微信号:芋道源码,微信公众号:芋道源码】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    [下载]Java经典入门教程(PDF格式)

    Java经典入门教程(PDF格式) 本套教程的教学目标: ·理解JAVA是什么 ·了解JAVA能干什么 ·理解
    发表于 06-07 10:47

    Java入门基础知识了解

    本帖最后由 QQ3511836582 于 2017-5-13 15:02 编辑 1.Java入门  1-1.Java程序的运行机制是怎样的?与C++或其他语言有什么不同?  回答:Java
    发表于 05-09 16:33

    简单了解一下贴片电感的特性特点

      如今在各行各业中,在贴片电感的应用在我们的生活中是非常广泛的,贴片电感的特点有很多,你对贴片电感的了解有多少呢,贴片电感都有哪些特性呢,今天深圳盈信源电子为大家简单的介绍一下贴片电感的特点及
    发表于 11-13 09:39

    Java语言的特性有哪些

      1 简单  Java语言的语法简单明了,容易掌握,而且是纯面向对象的语言。Java语言的简单性主要体现在以下几个方面:  语法规则和C+
    发表于 12-04 17:07

    Java语言有哪些特性

      Java语言的作者们编写了具有广泛影响的Java白皮书,里面详细地介绍了他们的设计目标以及实现成果,还用简短的篇幅介绍了Java语言的特性。下面将对这些
    发表于 12-14 17:18

    Java语言的特性介绍

      Java语言的作者们编写了具有广泛影响的Java白皮书,里面详细地介绍了他们的设计目标以及实现成果,还用简短的篇幅介绍了Java语言的特性。下面将对这些
    发表于 01-20 14:44

    一个简单易用的java编译工具完全汉化版

    一个简单易用的java编译工具完全汉化版
    发表于 04-07 14:09 0次下载

    JAVA简单程序设计实验

    JAVA简单程序设计实验 一、实验目的:      掌握下载和安装J2SE开发工具的方法;熟悉J2SE开发工具的使用;学习编写简单Java
    发表于 12-05 23:53 1650次阅读

    JAVA教程之简单的文本编辑器

    JAVA教程之简单的文本编辑器,很好的学习资料。
    发表于 03-31 11:13 11次下载

    JAVA教程之简单的表单程序

    JAVA教程之简单的表单程序,很好的学习资料。
    发表于 03-31 11:13 6次下载

    Java 9的新特性详解

    JDK 9的Java平台模块系统 Java 9最宝贵的特性,即模块化以Java平台模块系统的形式旨在将JDK分为运行、编译或构建时的一组模块。模块化被称为可传递的变化,这可以更好地理解
    发表于 09-28 14:37 0次下载

    十个问题带你了解和掌握java HashMap

    本文档内容介绍了十个问题带你了解和掌握java HashMap及源代码,供参考
    发表于 03-12 15:41 0次下载

    由浅入深的了解Java虚拟机

    说到Java虚拟机,相信作为Java程序员的小伙伴们都不陌生,他们每天都在写Java代码,写的代码都是在一个叫做Java虚拟机的东西上执行的。
    的头像 发表于 01-01 17:50 2069次阅读

    Java语言有哪些特性

    Java语言的作者们编写了具有广泛影响的Java白皮书,里面详细地介绍了他们的设计目标以及实现成果,还用简短的篇幅介绍了Java语言的特性。下面将对这些
    的头像 发表于 05-01 16:08 2813次阅读

    Java8的新特性

    虽然目前Java最新版本都已经到16了,但是绝大部分公司目前用的Java版本都是8,想当初Java8问世后,其Lambda表达式与方法引用可是最亮眼的新特性,目前,这两个
    的头像 发表于 10-10 17:12 303次阅读