JDK21新特性

简介: 介绍一些JDK21的新特性

JDK21前需这样写:

class Main {
    public static void main(String[] args) {
        String text = "Hello World!";
        System.out.printIn("%s".formatted(text));
    }
}

先创建一个类
然后写一个Main方法 并且需要public static修饰
接着在这个方法里声明一个字符串变量 然后使用占位符来输出这个字符串

用JDK21可以这样写:

void main() {
    String text = "Hello World!";
    System.out.printIn(STR. "\{ text }");

不用再创建一个类 也不用过多的修饰 也不用一个字符串数组参数 而且拼接字符串直接用一个大写的STR接着.字符串 里面就是一个\加上一个花括号 花括号里就是变量名
有点类似python的写法

再来看匹配record

record Point(int x, int y) {}

static void printSum(Object obj) {
    if (obj instanceof Point p) {
        int x = p.x();
        int y = p.y();
        System.out.printIn(x + y);
    }
}

在JDK21前需要先调用一下p 但在JDK21后

record Point(int x, int y) {}

static void printSum(Object obj) {
    if (obj instanceof Point(int x, int y)) {
        System.out.printIn(x + y);
    }
}

可以使用类似于JS的解构来获取record的属性

不仅是if 用switch也可以

record Point(int x, int y) {}

static void printSum(Object obj) {
    switch(obj) {
        case Point(int x, int y) -> System.out.printIn(x + y);
        case null, default -> {
            // Do nothing
        }
    }
}

最后看一下未命名变量

var map = Map.of("one", "1", "two", "2");
map.forEach((k, v) -> {
    System.out.printIn(k);
});

这里的forEach只使用了key

在JDK21前 必须把v也命名 这样会占用一个名称 而且IDEA也会提示这个变量未使用

但在JDK21后 就可以使用_来命名了(未命名变量)

var map = Map.of("one", "1", "two", "2");
map.forEach((k, _) -> {
    System.out.printIn(k);
});
目录
相关文章
|
2月前
|
安全 JavaScript 前端开发
JDK1.8的重要的新特性与功能
Java Development Kit (JDK) 1.8,也称为Java 8,是Java平台的一个重大更新,于2014年3月发布。它引入了多项新特性、新的API和性能提升
73 3
|
3月前
|
监控 安全 Java
探索Java的未来:JDK 18新特性全览
探索Java的未来:JDK 18新特性全览
80 0
|
3月前
|
缓存 安全 Java
JDK 14全景透视:每个Java开发者必知的新特性
JDK 14全景透视:每个Java开发者必知的新特性
54 0
|
3月前
|
JavaScript 前端开发 安全
Java新纪元:一探JDK 15的全新特性
Java新纪元:一探JDK 15的全新特性
46 0
|
3月前
|
JSON Java API
探秘JDK 13的黑科技:新特性一览
探秘JDK 13的黑科技:新特性一览
51 0
|
3月前
|
Java 测试技术 API
深度剖析JDK 11全新特性:编程艺术的巅峰之作
深度剖析JDK 11全新特性:编程艺术的巅峰之作
47 0
|
3月前
|
存储 Java 数据管理
探秘JDK 10:崭新特性悉数解析
探秘JDK 10:崭新特性悉数解析
31 0
|
3月前
|
JSON 编解码 Java
Java升级:JDK 9新特性全面解析“
Java升级:JDK 9新特性全面解析“
46 0
|
2天前
|
算法 Java 编译器
升级指南之JDK 11+ 新特性和AJDK
本文详细介绍了JDK个版本之间的特性、区别以及JDK版本更迭时优化了哪些地方,对JDK的版本选择给出了建议,以及升级教程。
|
9天前
|
存储 安全 Java
JDK22发布了!来看看有哪些新特性
以上是介绍 JDK22新特性的全部内容了,突然V哥想要感慨一下,技术之路,学无止境,选择 IT 技术,作个纯粹的人,享受研究技术的过程,这种带来的快感,也许只有真正热爱编程的人才能有体会。