jdk-16

1. instanceof关键词 转正

Object obj = "kuaidi100";
if(obj instanceof String str){
    //直接使用str
}

2. Records 转正

record Person(int age, String name, Person friend) implements Runnable {
    // record类是final类,继承自Record类,因此不能有子类,不能是抽象的,也不能继承其他父类
    // 但是可以实现接口
    // record类自动帮我们实现全参构造方法、hashcode()方法、equals()方法和toString()方法

//    int a; // record类不能有实例字段
    public static int sCount = 0;
    // record类可以有静态字段、实例方法、静态方法,覆写实例字段的get()方法
    // 但是不能对实例字段重新赋值,因为它们是final字段

    public Person() {
        // record类的构造方法必须调用包含全部参数的构造方法
        this(0, "", null);
    }

    public static void test() {}

    public void showName() {
        System.out.println(name);
    }

    @Override
    public void run() {

    }
}

3. Vector API

  • 现在JDK16也可以做到了,我们一起来看看,先是传统写法:

  • 如果我们希望两个数组的数字相乘,则只能进行每个元素的遍历。现在的写法:

我们构建两个Vector变量,直接调用Vector类的mul方法即可。
fromArray中有三个参数,第一个是向量的长度,第二是原数组,第三个是偏移量。因为一个int有4个字节,所以这里我们使用SPECIES_128。

4. Sealed Classes

Sealed Classes是在JDK15中引入的概念,它表示某个类允许哪些类来继承它:

final表示Seal2不能再被继承了。non-sealed 表示可以允许任何类继承。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值