Java 14 有哪些新特性?

  • 时间:
  • 浏览:2
  • 来源:大发5分排列3_大发5分排列3官方

作者: Mahmoud Anouti,高级软件工程师。译者:明明如月,知名互联网公司 Java 高级开发工程师,CSDN 博客专家。

云栖号:https://yqh.aliyun.com

第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策!

原文:https://dzone.com/articles/a-first-look-at-records-in-java-14

大伙能不可不可以 了定义静态函数和实例函数来操作对象的情形。

不可能 大伙看一下特性列表,大伙会注意到要是我 开发者非常期待的语言特性:记录 (records)、 switch 表达式(在 JDK 13 中就不可能 居于,不过仅仅是预览模式),模式匹配。下面让大伙看下其中比较有趣的记录你要是我 特性。

正如前面提到的,记录要是我另一一一五个用于保存和暴露数据的类。

以下为译文:

本文为 CSDN 翻译,转载请注明来源出处。

字节码:

原文发布时间:2020-01-14

本文作者:Nathan Esquenazi

本文来自阿里云云栖号媒体公司合作 伙伴“CSDN”,了解相关信息能不可不可以 了关注“CSDN”

大伙可不可以 了向记录中加在实例字段,这在意料之中,不可能 你要是我 数据应该设置为组件。要是我 大伙能不可不可以 了加在静态字段:

Java 14 即将在 2020 年 3 月正式发布。 Java 以 6 个月作为新版本的发布周期,和之后的版本发布一样,JDK 14 预计将在语言一种和 JVM 级别上带来要是我 新特性。

记录表示“数据类” ,是用于保存纯数据的一种特殊的类。 要是我 语言中不可能 有例如记录的特性,比如 Kotlin 的数据类。 通过将类型声明为记录,通过类型即可表达意图,即只表示数据。 声明记录的语法比使用普通类要简单得多,普通类通常需要实现核心 Object 办法 ,如 equals ()和 hashCode () (通常称为“样板”代码)。 在对于模型类 (不可能 通过 ORM 持久化) 或数据传输对象 (DTOs) 等事物建模时,记录是另一一一五个不错的选用。

不可能 想知道记录如何在 Java 语言中实现的,能不可不可以 了参照枚举类型。 枚举也是另一一一五个具有特殊语义和优雅语法的类。 不可能 记录和枚举仍然是类,要是我 要是我 类中可用的要是我 特性都得到了保留,要是我 记录在设计的简单性和灵活性之间取得了平衡。

大伙才能不可不可以 了为记录加在构造函数,才能不可不可以 了编辑规范构造函数(带有另一一一五个字符串参数的构造函数)。不可能 你想重写规范构造函数,我应该 编写另一一一五个不带参数的构造函数,需要对属性进行赋值。

作者 | Nathan Esquenazi

译者 | 弯月,责编 | 郭芮

出品 | CSDN(ID:CSDNnews)

下面给出另一一一五个记录的范例:

记录为 Java 提供了一种正虽然 现数据类的能力,不再需要为实现数据类而编写冗长的代码。下面就来看看 Java 14 中的记录有那些新特性。

记录为 Java 提供了一种正虽然 现数据类的能力,不再需要为实现数据类而编写冗长的代码。 这让编写纯数据类代码从几行缩减为一行代码。 还有要是我 要是我 预览的语言特性能不可不可以 了和记录搭配使用,比如模式匹配。 不可能 想深入了解记录和相关背景,请参阅 Brian Goetz 的 OpenJDK 文档(https://cr.openjdk.java.net/~briangoetz/amber/datum.html)。

大伙定义了另一一一五个 Person 对象,带有 firstName和lastName 另一一一五个组件,记录的 body 为空。

要是我 大伙对其进行编译。注意 --enable-preview 选项。

记录是另一一一五个预览语言特性,这愿因着,尽管不可能 完整性支持了你要是我 特性,要是我 还没正式进入标准 JDK 中,目前可不可以 了通过激活标志来使用。 预览语言功能不可能 在未来的版本中更新或删除。 switch 达式也与之例如,它不可能 在未来的版本中永存。

大伙要有点痛 重视以下几点:

大伙需要 OpenJDK 网站中的 JDK 14 先期预览版本(https://jdk.java.net/14/)。

接下来让大伙来看看用 javap 工具生成的字节码: