做网站要的带宽是什么,深圳室内设计工作室排名,做网站要ftp信息吗,保险官网查询目录
0、有用的新特性
一、Record
1.1、Record的介绍
1.2、Record的声明
1.3、Record的创建 0、有用的新特性 JDK8-19 新增了不少新特性#xff0c;这里我们把实际常用的新特性#xff0c;给大家介绍一下#xff0c;包括以下几个方面#xff1a;
Java RecordSwich 开…目录
0、有用的新特性
一、Record
1.1、Record的介绍
1.2、Record的声明
1.3、Record的创建 0、有用的新特性 JDK8-19 新增了不少新特性这里我们把实际常用的新特性给大家介绍一下包括以下几个方面
Java RecordSwich 开关表达式Text Block 文本块var 声明局部变量sealed 密封类
一、Record
1.1、Record的介绍 Java14 中预览的新特性叫做 Record在 Java 中Record 是一种特殊类型的 Java 类。可用来创建不可变类例如这个类中的属性值一经赋值后不可再改变了。 任何时候创建 Java 类都会创建大量的样板样例代码我们可能会使用Lombok简化 每个字段的 setget 方法公共的构造方法重写 hashCode, toString(), equals()方法 Lombok是通过插件和预编译的方式实现的不是语言级别的而Record是语言级别的Lombok可以使用Record代替Lombok 简化样例代码的编写、简化开发如下特点
带有全部参数的构造方法public 访问器属性的访问是通过公共的方法在编译Record过程中会生成toString(),hashCode(),equals()等方法没有遵循 Bean 的命名规范无 setget 方法类以及所有的属性都是final修饰的 Record不能被继承Record 为隐士的 final 类。除此之外与普通类一样不可变类不能被继承通过构造创建 Recordfinal 属性能读它的属性但是不可修改不能声明实例属性能声明 static 静态成员
1.2、Record的声明
Record是JDK14的特性所以你的jdk语言级别必须是14以上否则就没有Record选项 现在就有了 Record是用来作为数据的载体存储数据用的创建方式如下
public record Student(Integer id,String name,String email,Integer age) {//1、小括号里面是它的构造方法//2、使用record关键字代表Student它是一个record类型//3、不需要做其它的任何操作record类型就创建好了包含四个属性}1、小括号里面是它的构造方法 2、使用record关键字代表Student它是一个record类型 3、不需要做其它的任何操作record类型就创建好了包含四个属性
我们现在来单元测试一下alt回车 1.3、Record的创建
创建Record对象和创建普通的java对象一模一样
public class StudentTest {Testpublic void testRecord() {Student lisi new Student(1001,lisi,lisiqq.com,20);//Student[id1001, namelisi, emaillisiqq.com, age20] System.out.println(lisi);}
} 现在lisi这个对象他的四个属性是固定好的了只能读取无法修改现在我如何来读取他的四个属性呢注意 1、Record类型没有遵循Java Bean 的命名规范无 setget 方法我们通过Public访问器来获取属性值 2、因为没有set方法所以通过Record创建的对象属性值是不可变的这样Record对象在使用上也就更加安全 3、Record重写了hashCode, toString(), equals()方法例如你输出lisi其实是调用的lisi.toString()方法
public class StudentTest {Testpublic void testRecord() {Student lisi new Student(1001,lisi,lisiqq.com,20);//Student[id1001, namelisi, emaillisiqq.com, age20]System.out.println(lisi);//无set、get方法,通过Public访问器来获取属性值,这些都是公共的方法Integer id lisi.id();String name lisi.name();System.out.println(id id);System.out.println(name name);}
}