自从知道了的这6个Java新特性,工作效率直接提高了100倍

import java.util.Optional;

public class MyClass {

public static void main(String args[]) {

InnerClass foo = null; //new InnerClass(“Test”);

Optional fooWrapper = Optional.ofNullable(foo);

fooWrapper.ifPresent(x -> System.out.println("foo = " + x.getName()));

//System.out.println("foo = " + fooWrapper.orElseThrow());

}

}

class InnerClass {

String name = “”;

public InnerClass(String name){

this.name = name;

}

public String getName(){

return this.name;

}

}

复制代码

提示:当使用Optional时,如果你使用orElse()方法通过方法调用提供一个默认值,考虑使用orElseGet()来代替提供一个函数引用,以获得性能上的好处,如果值是非空的,就不会运行调用。

The Record Class

================

构建Java应用的一个常见需求是所谓的不可变的DTO(数据传输对象)。DTOs用于对来自数据库、文件系统和其他数据存储的数据进行建模。传统上,DTOs是通过制作一个类来创建的,其成员通过构造函数来设置,没有访问它们的getters。Java 14引入了新的记录关键字,Java 15在此基础上进行了改进,为这一目的提供了一种速记方式。

下面的例子说明了一个典型的DTO定义和record类型引入前的用法。

public class MyClass {

public static void main(String args[]) {

Pet myPet = new Pet(“Sheba”, 10);

System.out.println(String.format(“My pet %s is aged %s”, myPet.getName(), myPet.getAge()));

}

}

class Pet {

String name;

Integer age;

public Pet(String name, Integer age){

this.name = name;

this.age = age;

}

public String getName(){

return this.name;

}

public Integer getAge(){

return this.age;

}

}

复制代码

如下面的例子所示,我们可以使用record关键字来消除大部分的模板。

public class MyClass {

public static void main(String args[]) {

Pet myPet = new Pet(“Sheba”, 10);

System.out.println(String.format(“My pet %s is aged %s”, myPet.getName(), myPet.getAge()));

}

}

public record Pet(String name, Integer age) {}

复制代码

请注意,使用数据对象的客户端代码并没有改变;它的行为就像传统定义的对象一样。record关键字足够聪明,可以通过简单的定义足迹推断出存在哪些字段。
record类型还定义了equals()、hashCode()和toString()的默认实现,同时也允许开发者重写这些。 你也可以提供一个自定义的构造函数。
请注意,record不能被子类化。
感谢观看,这是6个Java不容错过的新特性第1篇文章,如果您有兴趣,可以关注一下我,方便查看后续文章,一起学习,共同进步,不胜感激!

最后如何让自己一步步成为技术专家

说句实话,如果一个打工人不想提升自己,那便没有工作的意义,毕竟大家也没有到养老的年龄。

当你的技术在一步步贴近阿里p7水平的时候,毫无疑问你的薪资肯定会涨,同时你能学到更多更深的技术,交结到更厉害的大牛。

推荐一份Java架构之路必备的学习笔记,内容相当全面!!!

成年人的世界没有容易二字,前段时间刷抖音看到一个程序员连着加班两星期到半夜2点的视频。在这个行业若想要拿高薪除了提高硬实力别无他法。

你知道吗?现在有的应届生实习薪资都已经赶超开发5年的程序员了,实习薪资26K,30K,你没有紧迫感吗?做了这么多年还不如一个应届生,真的非常尴尬!

进了这个行业就不要把没时间学习当借口,这个行业就是要不断学习,不然就只能被裁员。所以,抓紧时间投资自己,多学点技术,眼前困难,往后轻松!

【关注】+【转发】+【点赞】支持我!创作不易!
的应届生实习薪资都已经赶超开发5年的程序员了,实习薪资26K,30K,你没有紧迫感吗?做了这么多年还不如一个应届生,真的非常尴尬!

进了这个行业就不要把没时间学习当借口,这个行业就是要不断学习,不然就只能被裁员。所以,抓紧时间投资自己,多学点技术,眼前困难,往后轻松!

【关注】+【转发】+【点赞】支持我!创作不易!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值