SpringBoot3

有用的新特性

JDK8-19 新增了不少新特性,这里我们把实际常用的新特性,给大家介绍一下。包括以下几个方面:

  • Java Record
  • Swich 开关表达式
  • Text Block 文本块
  • var 声明局部变量
  • sealed 密封类

Java14 中预览的新特性叫做 Record ,在 Java 中, Record 是一种特殊类型的 Java 类。可用来创建不可变类,例如这个类中的属性值,一经赋值后不可再改变了
任何时候创建 Java 类,都会创建大量的样板(样例)代码,我们可能会使用Lombok简化如下:
 每个字段的 set,get 方法
公共的构造方法
重写 hashCode, toString(), equals()方法
Lombok是通过插件和预编译的方式实现的,不是语言级别的,而Record是语言级别的Lombok,可以使用Record代替Lombok, 简化样例代码的编写、简化开发,如下特点:
带有全部参数的构造方法
public 访问器
toString(),hashCode(),equals()
没有遵循 Bean 的命名规范,无 set,get 方法
类以及所有的属性都是final修饰的, Record不能被继承,Record 为隐士的 final 类。除此之外与普通类一样
不可变类,不能被继承,通过构造创建 Record
final 属性,能读它的属性,但是不可修改
不能声明实例属性,能声明 static 静态成员
用来作为数据的载体,存储数据用的,创建方式如下:

不需要做其它的任何操作,record类型就创建好了,包含四个属性

使用record关键字,代表它是一个record类型
 

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

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

相关文章

explorer.exe 作用

Explorer.exe是什么 在Windows操作系统中,Explorer.exe是桌面进程的意思,它负责显示用户桌面信息,如果用户将它结束掉就看不到桌面上的任何图标了,相当于Windows操作系统中的人机交互界面,其重要性不言而喻。如果用户发…

【算法笔记】分支限界专题

分支限界 整体结构 本质上感觉还是遍历解树剪枝,但是配合优先队列使用以后可以更好的找到最优解。 例题 P8011 ⾛迷宫 对于迷宫问题,某一节点的关联节点指的是它四个方向上相邻的节点。 要利用flag数组确保不会重复访问。 void bfs(){//1、初始化队…

重写equals方法为什么还要重写hashcode方法?

目录 什么是 hashcode(哈希码、散列码)? 为什么 equals() 方法要重写? hashCode() 与 equals() 的关系 重写equals方法为什么还要重写hashcode方法? 什么是 hashcode(哈希码、散列码)&#…

python爬虫之线程与多进程知识点记录

一、线程 1、概念 线程 在一个进程的内部,要同时干多件事,就需要同时运行多个“子任务”,我们把进程内的这些“子任务”叫做线程 是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指…

DAY01_Spring—Spring框架介绍IOCSpring工厂模式

目录 1 什么是框架2 Spring框架2.1 Spring介绍2.2 MVC模型说明2.3 IOC思想2.3.1 问题说明2.3.2 IOC说明 3 Spring IOC具体实现3.1 环境准备3.1.1 关于JDK说明3.1.2 检查JDK环境配置 3.2 创建项目3.3 关于Maven 命令3.3.1 install 命令3.3.2 clean 命令 3.4 添加jar包文件3.4.1 …

flutter使用getx进行数据状态管理,实现页面响应式

无论是什么样的应用,都还是需要最基础的数据来支撑的,而且不同的页面之间可能需要共享数据状态,这就显得数据状态管理非常有必要了。因为我这里使用了get依赖库,所以就可以直接在项目中使用getx来管理状态,不想再使用别…

【笔记】软件下载链接汇总

🎈欢迎加群交流🎈 ✨✨✨https://ling71.cn/hmf.jpg✨✨✨ 浏览器历史版本下载 Firefox史版本下载:(官网) http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/ Chrome历史版本、ChromeDriver历史版本&#x…

服务器机房上架交付流程

服务器上架交付 服务器到货验收后,会进行机房机房上架,完成重装系统、网络配置后交付使用 1、到货验收 采购服务器到货后,会联合多部门进行SN、配置、数量等多方面验收,如数量是否匹配,配置是否相符等也会拆开机箱看看…

Python基础知识:整理10 异常相关知识

1 异常的捕获 1.1 基础写法 """基本语法:try:可能发生错误的代码except:如果出现异常,将执行的代码""" try:fr open("D:/abc.txt", "r", encoding"utf-8") except:print("出现异常…

APM传感器校准

文章目录 前言一、校准加速度计二、校准罗盘三、校准陀螺仪四、校平地平线 前言 固件:rover 4.2.3 地面站:独家汉化版QGC 一、校准加速度计 点击左上角软件图标-》载具设置-》传感器-》加速度计 飞控方向默认为None即可,点击确定 点击确…

德语怎么翻译,中文翻译成德文有何要求?

近年来,随着中德之间的贸易往来日益频繁,德语翻译需求在市场上持续升温。那么,如何做好德语翻译,特别是将中文翻译成德文需要注意哪些要求呢? 首先,深入理解中文原文的语境和含义至关重要。中文含蓄且抽象&…

存储的基本架构

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、存储的需求背景二、自下而上存储架构总结 一、存储的需求背景 1、人的身份信息需要存储 这种信息可以用关系型数据库,例如mysql,那种表…

c++的宏举例和理解

宏提供了一种机制,能够使你在编译期替换代码中的符号或者语句。当你的代码中存在大量相似的、重复的代码时,使用宏可以极大的减少代码量,便于书写。 // 定义圆周率 #define PI 3.14159265 // 定义一个空指针 #define NULL ((void*)0) // 定…

第十二章 Java内存模型与线程(二)

文章目录 12.4 Java与线程12.4.1 线程的实现12.4.2 Java线程调度12.4.3 状态转换 12.4 Java与线程 12.4.1 线程的实现 实现线程主要有三种方式:使用内核线程实现(1: 1 实现),使用用户线程实现(1&#xff…

CMake入门教程【高级篇】自定义的构建命令add_custom_command

文章目录 1.概述信息2.命令作用3.完整代码示例4. 实际使用中的技巧1.概述信息 add_custom_command是一个非常强大的工具,它允许用户定义在构建过程中执行的自定义命令。这可以用于生成源文件、执行前后处理步骤、自动化测试等。 #mermaid-svg-9icMsOnoxbNTRCu0 {font-family:…

A Charming Algorithm for Count-Distinct

如何估计不重复元素的个数 本文提出一种很有趣的算法,估计一个数列里面不重复元素的个数,关键是它只使用指定大小的内存。 I recently came across a paper called Distinct Elements in Streams: An Algorithm for the (Text) Book by Chakraborty,…

FFmpeg 入门

1. 编译 参考文档:FFmpeg编译和集成(FFmpeg开发基础知识),重点注意这句话: 在MSYS2 Packages可以查到云仓库有哪些包,直接安装可节约大量时间。 注意:这个路径可自定义 吐槽 在看到这篇文章之前,花了大…

腾讯云服务器购买指南,2024更新购买步骤

腾讯云服务器购买流程很简单,有两种购买方式,直接在官方活动上购买比较划算,在云服务器CVM或轻量应用服务器页面自定义购买价格比较贵,但是自定义购买云服务器CPU内存带宽配置选择范围广,活动上购买只能选择固定的活动…

【银行测试】银行项目,信用卡业务测试+常问面试(三)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 银行测试-信用卡业…

产品经理之基础必备知识点

目录 前言 一.用户画像 1.1含义 1.2 举例说明 二.MVP(最小可行产品) 1.1含义 1.2 优缺点 三.体验地图 3.1 含义 3.2 举例说明 四.产品路线图 4.1 含义 4.2 举例说明 五.用户故事 5.1 含义 5.2 举例 六.用户故事地图 七.敏捷开发 7.1 含义 7.2 …