从Java 8到 Java 17–Java 14

/ 0评 / 0

Java 14 它不是一个长久支持(LTS)版本。虽然该版本并不是长期版本,但即使再发布新版本也是在此基础上的。

在JDK14中新增了以下16个新特性:

重点特性列表

instanceof模式匹配

过去我们写instanceof,需要这么写:

        Object obj = "glj_str";
        if(obj instanceof String){
            String str = (String) obj;
            System.out.println("obj:" + str);
        }

通过java14的新特性,我们可以简化成如下方式:

        Object obj = "glj_str";
        if(obj instanceof String str){
            System.out.println("obj:" + str);
        }

Switch表达式

Switch表达式在之前已经描述过不在继续描述

文本块作为预览特性保留

在 Java 13 之前,多行字符串写法为:

String html ="<html>\n" +
              "   <body>\n" +
              "      <p>Hello, World</p>\n" +
              "   </body>\n" +
              "</html>\n";


 String json ="{\n" +
              "   \"name\":\"glj\",\n" +
              "   \"age\":25\n" +
              "}\n";

在 Java 13 引入文本块之后,写法为:

        String html = """
                <html>
                    <body>
                        <p>Hello, World</p>
                    </body>
                </html>
                """;

        String json = """
                {
                    "name":"glj",
                    "age":25
                }
                """;

记录类型(Record Type)的引入(预览特性)

Java 14中记录类型(Record Type)作为预览特性被引入。记录对象允许使用紧凑的语法来声明类,和枚举类型一样,记录也是类的一种受限形式。

Record类型使用如下:

    public static void main(String[] args) {
        Point point = new Point(1,3);
        System.out.println(point.x());
        System.out.println(point.y());
    }
    //定义一个record
    public record Point(int x, int y) {}

感觉很像lombock

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注