从Java 8到 Java 17–Java 14
本文最后更新于 1193 天前,其中的信息可能已经有所发展或是发生改变。

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

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

  • 305: instanceof的模式匹配 (预览)
  • 343: 打包工具 (Incubator)
  • 345: G1的NUMA内存分配优化
  • 349: JFR事件流
  • 352: 非原子性的字节缓冲区映射
  • 358: 友好的空指针异常
  • 359: Records (预览)
  • 361: Switch表达式 (标准)
  • 362: 弃用Solaris和SPARC端口
  • 363: 移除CMS(Concurrent Mark Sweep)垃圾收集器
  • 364: macOS系统上的ZGC
  • 365: Windows系统上的ZGC
  • 366: 弃用ParallelScavenge + SerialOld GC组合
  • 367: 移除Pack200 Tools和API
  • 368: 文本块 (第二个预览版)
  • 370: 外部存储器API (Incubator)

重点特性列表

  • instanceof的模式匹配 (预览)
  • Switch表达式 (标准)
  • 文本块

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

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇