JDK建议针对详细的Java语法

Java将获得记录和密封类型功能,这是JDK增强建议草案的一部分,旨在解决有关Java太冗长和需要太多“仪式”代码的抱怨。 该建议由Oracle Java语言架构师Brian Goetz发起。

记录提供了一种紧凑的语法来声明类,这些类是浅层不可变数据的透明持有者。 同时,密封类型提供了一种声明类和接口的方法,这些类和接口可以限制其子类型。 这些功能组合起来有时被称为代数数据类型。

[ 什么是Kotlin? Java替代方法进行了解释 •教程: Kotlin入门 Kotlin框架:JVM开发工具概述 | 通过InfoWorld的App Dev Report新闻通讯了解编程方面的热门话题。 ]

在Java中可能出现这些功能的时间不确定。 OpenJDK社区中有关记录和密封类型的官方Java增强建议(JEP)最初并未引用针对这些功能的特定Java版本。 Java的下一个发行版Java Development Kit(JDK)13将于9月发布

在解释记录和密封类型背后的动机时,该提案将冗长和仪式作为Java开发人员的共同抱怨,而普通的数据载体就是最糟糕的例子之一。 该提案认为,用Java正确编写一个简单的数据类需要太多低价值,容易出错的代码,例如构造函数或访问器。

IDE将帮助您编写大部分代码,但不会做任何事情来帮助读者从数十行样板中提炼“我是xyz的普通数据载体”的设计意图。 编写对简单数据聚合进行建模的Java代码应该更容易-更容易编写,更易于阅读并且更容易正确。

记录是类的受限形式,它声明一个表示并提交给API以匹配该表示。 密封类型是根据类型声明中指定的指导对其子类进行限制的类型。 记录和密封类型固有的限制的目的是获得更多的清晰度和简洁性。 例如,记录放弃了类通常享有的“自由度”,这是将类的API与表示分离开来的能力,但在返回时获得了很大程度的简洁性。 记录是“状态,整个状态,除了状态之外什么都没有。”

该提案并未试图宣告“在样板上开战”。 使用JavaBean命名约定来解决可变类的问题并不是目标。 提议的目标也不是添加功能,例如注释驱动的代码生成,属性或元编程,即使它们通常被视为问题的“解决方案”。

From: https://www.infoworld.com/article/3390993/jdk-proposal-takes-aim-at-verbose-java-syntax.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值