java修改数据历史记录_记录更新(Java数据类)

java修改数据历史记录

最近几个月,有一些与“ Java数据类”(又称为“记录”)有关的更新。 正如我在“ JavaFX,Valhalla,数据类和Java的浮点更新 ”一文中简短提到的那样, Brian Goetz的“ Java数据类 ”“探讨了Java语言中数据类的可能方向。” 令人遗憾的是,尽管在OpenJDK邮件列表上对这一潜在的新Java功能进行了大量讨论,但该文档还指出:“这只是一个探索性文档,并不构成任何特定Java语言版本中任何特定功能的计划。”

3月中旬,Goetz在琥珀色专家的邮件列表中张贴了一条消息,标题为“ 记录-当前状态” 。 他在该消息中指出了Java记录的意图:“我们一直以来的目标是将记录定义为一组更细粒度的功能的'纯宏'。 其中一些是由样板驱动的; 有些是由语义(将API元素的语义耦合到状态)驱动的。通常,记录将首先到达那里,然后普通的类将具有更通用的功能。”

“ 记录-当前状态 ”一文中提出了一些有趣的观点,但在这里我将重点介绍一些我发现特别有趣的观点。 通常,在陈述的早期设计决策中可以看到,与创建Java相比,现在普遍流行的通用原则主导着与记录有关的思维。

在“可变性和可访问性”部分中,Goetz建议Java记录提供final字段,这些字段是“默认情况下为打包( protected抽象记录protected )的软件包”,但允许开发人员“显式选择退出(非最终)”,因为并允许“明确扩展(公开)访问范围”。 我喜欢的有Java结构的想法final默认领域,并具有明确选择,使他们非final ,而不是周围的其他方式,我们已经成为在Java中使用。

Goetz在“访问器”部分中写道,当前的想法是让这些访问器方法不使用JavaBeans的“ get”约定,而使用不带“ get”前缀的字段名称。 他写道:“显而易见的选择是自动公开读取访问器。 (这些将不会被命名为getXxx;无论人们已经考虑了多少,我们都不会将不明智的Javabean命名约定烧入该语言。)这些访问器的明显命名选择是fieldName()。” 我喜欢遵循此简单命名约定(在编写builder时倾向于使用)自动生成的读取访问器的想法。 我还赞赏强调的保证,即没有阴谋或努力将“不明智的JavaBean命名约定烧入该语言中”。

Goetz的“核心方法”部分讨论了常见方法,例如equals(Object)hashCode()toString()等。 Goetz写道:“记录将获得equals,hashCode和toString”,并且“将equals / hashCode最终定为一个很好的论据。” 他补充说,虽然无需将toString()final方法,但可以将自动生成的读取访问器方法设置为final

Stephen Colebourne在有关Java中的记录/数据类的邮件列表讨论中贡献了多个帖子。 这些包括他在Amber上发表的见解 (该项目包括这项工作以及其他工作,例如LVTI和原始字符串文字 ),以及对先前提到的原始“ Records-current status ”消息的回应 。

关于Java记录的其他相对较新的邮件列表消息包括Goetz的“ 记录:构造和验证” ,由Remi Forax开始的“ 记录和注释值 ”讨论,以及由Gunnar Morling发起的名为“ Records- 将它们用作JPA实体”的主题。并使用Bean验证对其进行验证 。”

尽管Records / Data Classs尚未与任何特定的Java版本相关联,但令人激动的是,思考它们可能带来的使更好,更安全和可读性更好的Java代码的可能性。

翻译自: https://www.javacodegeeks.com/2018/05/updates-on-records-data-classes-for-java.html

java修改数据历史记录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/333234.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

idea配置Maven的本地仓库(打开新的项目时自动更新本地仓库的位置)

配置Maven的本地仓库 一、打开目录然后选择 Other Settings → Settings for New Projects 二、配置自己的文件路径和本地仓库 三、设置每次自动更新本地仓库

java导出数据透视表_使用数据库中的Java流制作数据透视表

java导出数据透视表来自数据库行和表的原始数据不能为人类读者提供太多了解。 相反,如果我们对数据执行某种聚合,则人类更有可能看到数据模式 在向我们展示之前。 数据透视表是聚合的一种特定形式,我们可以在其中应用排序,求平均…

Java程序和MySQL数据库中关于小数的保存问题

文章目录MySQL 中的小数类型decimaldoublefloatJava 中的小数类型floatdoubleBigDecimal金额的计算MySQL 中的小数类型 decimal MySQL 使用 decimal 保存高精度的小数,可以设置保留的小数个数。decimal(m,d),表示该值一共显示 m 位整数,其中…

javafx 遮罩_JavaFX技巧31:遮罩/剪切/ Alpha通道

javafx 遮罩选择条 最近,我不得不实现一个自定义控件,该控件使用户可以从项目列表中选择一个项目。 此“ SelectionStrip”控件必须水平放置项目,并且在项目过多的情况下,允许用户左右水平滚动。 该控件将在空间受限的区域中使用&…

IntelliJ IDEA for Mac如何查看某个方法的实现

如果没有子类,按住 Command,鼠标点击方法名会跳到声明定义方法的地方;如果是接口或者父类,那么只会跳至接口或者父类声明方法的地方,想要看子类的实现,可以点击鼠标右键,选择 【Go To】 -> 【…

日志管理工具_您需要了解的6种日志管理工具(以及如何使用它们)

日志管理工具如果没有正确的工具来汇总和解析您的日志数据,则几乎不可能找到并了解所需的信息。 日志有无穷的用途,因为日志本身是无止境的。 应用程序日志,安全日志,BI日志, 林肯日志 (好吧,也…

Spring半注解半Xml

一、 Component 1.Component 标记了注解, 默认的名称是:简单类名,首字母小写UserDaoImpl -> userDaoImplUserServiceImpl -> userServiceImplComponent可以使用value属性指定对象的名称,相当bean标签的id属性 Component注解…

JDK 命令之 javadoc -- 生成API文档

文章目录命令简介命令选项中文乱码javadoc 命令实例进入源代码文件所在目录,解析指定的源代码文件,生成 API 文档解析指定包下的所有源码文件,生成 API 文档指定源文件根目录,再指定具体的包路径,解析其中的源码文件&a…

apache.camel_带有Spring Boot 2支持的Apache Camel 2.22发布

apache.camel今天,我们发布了最新的Apache Camel 2.22.0版本 ,这是第一个正式完全支持Spring Boot 2的版本。这是一项重大的工作,因为针对像Apache Camel这样的大型框架将Spring Boot v1升级到v2付出了很多努力–感谢骆驼队和他们的贡献。 对…

纯注解的开发

使用纯注解开发 目录结构 JdbcConfiguration package com.itheima.Config;import com.mchange.v2.c3p0.ComboPooledDataSource; import org.apache.commons.dbutils.QueryRunner; import org.springframework.beans.factory.annotation.Value; import org.springframework.co…

IntelliJ IDEA forMac 如何生成项目的javadoc(API文档)

1.在菜单栏,点击 Tools -> Generate JavaDoc… 2.根据你自己的需要,设置解析源文件的范围、设置文档输出目录、设置资源的访问权限范围、字符编码、堆内存大小等。

vaadin_Vaadin Flow –奇妙的鹿

vaadin您可能知道,Vaadin是Java上最受欢迎的Web框架之一: https://zeroturnaround.com/rebellabs/java-web-frameworks-index-by-rebellabs/ https://javapipe.com/hosting/blog/best-java-web-frameworks/ 最近发布了此Web UI开发框架的新版本– Vaa…

Spring和Junit整合

一、引入依赖 <dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>5.0.2.RELEASE</version></dependency>二、在测试类中修改 &#xff08;1&#xff09;不带有配置文件的修改…

什么是stub文件_stub code

存根, 占位代码&#xff0c;占坑代码&#xff0c;桩代码&#xff0c;粘合代码&#xff0c;残存代码, 指满足形式要求但没有实现具体功能的占坑/代理代码。 stub code 给出的实现是临时性的/待编辑的。它使得程序在结构上能够符合标准&#xff0c;又能够使程序员可以暂时不编辑…

子类重写父类变量_为什么在子类中不重写超类的实例变量

子类重写父类变量当我们在父类和子类中创建一个具有相同名称的变量&#xff0c;并尝试使用持有子类对象的父类引用访问它时&#xff0c;我们会得到什么&#xff1f; 为了理解这一点&#xff0c;让我们考虑下面的示例&#xff0c;在该示例中&#xff0c;我们在Parent和Child类中…

Spring基于 XML 的声明式事务控制(配置方式)

一、引入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4…

javadoc - Java API 文档生成器(Windows版本)

文章目录简介命令语法结构Javadoc Doclets术语带文档的类引用类外部引用类源文件源代码文件包注释文件概述注释文件其他未处理文件生成的文件基本内容页交叉参考页支持文件HTML 框架生成的文件结构文档注释注释源代码JAVADOC 标记author name-textdeprecated deprecated-textex…

光缆故障测试_简单的测试可以防止最严重的故障

光缆故障测试错误处理是软件开发中最困难且被忽略的部分之一&#xff0c;而且如果系统是分布式的&#xff0c;那么这将变得更加困难。 不错的论文写在“ 简单测试可以预防最关键的故障” 主题上。 每个开发人员都应该阅读本文。 我将尝试总结本文的主要内容&#xff0c;但建议…

使用aop解决事务问题(xml版)

一、引入依赖 pom.xml代码&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http:…

印象大使_基本服务-使用大使网关

印象大使这是我对Knative服务进行实验的延续&#xff0c;这次是围绕在Knative服务应用程序之上构建网关。 这建立在我之前的两篇文章的基础上- 使用Knative部署Spring Boot App以及在Knative中进行服务到服务的调用 。 为什么要在Knative应用程序之上使用网关 为了解释这一点&…