[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/itwanger/toBeBetterJavaer/master/docs/src/java8/java14.md [Back]  [Original]

--- title: Java 14 Recordinstanceofswitch shortTitle: Java 14 category: - Java tag: - Java description: Java 14RecordinstanceofswitchJava 14 head: - - meta - name: keywords content: Java,Java SE,Java,Java,Java,Java,Java,,java8,java Record,java instanceof,java switch --- Java 14 Record instanceof Java 12 switch ![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8xMTc5Mzg5LTA2N2E2NGZiZWY3OTU0MTAucG5n?x-oss-process=image/format,png) ### 01 JDK 14 > 20230330Java 20 LTSJava 17118 LTS JDK 14 2 Oracle [jdk.java.net](https://jdk.java.net/14/) ![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8xMTc5Mzg5LTJkM2Q3MGQ4ODQ0NDk1MDEucG5n?x-oss-process=image/format,png) Windows Windows zip ### 02 IntelliJ IDEA > 20230330Intellij IDEA 2023.1 IDEA 2020.1 EAP Java 14 ![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8xMTc5Mzg5LThhYjFjYmRiNDA3MjBiM2UucG5n?x-oss-process=image/format,png) ``` [https://www.jetbrains.com/idea/nextversion/#section=windows](https://www.jetbrains.com/idea/nextversion/#section=windows) ``` Java 14 ![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8xMTc5Mzg5LTBhYWIwYWNiY2RiMzllZGIucG5n?x-oss-process=image/format,png) ### 01instanceof instanceof instanceof ```java public class OldInstanceOf { public static void main(String[] args) { Object str = "Java 14"; if (str instanceof String) { String s = (String)str; System.out.println(s.length()); } } } ``` instanceof if str String if str Java 14 ```java public class NewInstanceOf { public static void main(String[] args) { Object str = "Java 14"; if (str instanceof String s) { System.out.println(s.length()); } } } ``` if instanceof Java 14 Java 14 instanceof ![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8xMTc5Mzg5LTg1MTQ4YWI3MjI2ZmM4ZTUucG5n?x-oss-process=image/format,png) ![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8xMTc5Mzg5LTdhMzE3MDYwNjk5NTJmMDgucG5n?x-oss-process=image/format,png) ``` 10 ``` Java ```java public class NewInstanceOf { public NewInstanceOf() { } public static void main(String[] args) { Object str = "Java 14"; String s; if (str instanceof String && (s = (String)str) == (String)str) { System.out.println(s.length()); } } } ``` if s if `s = (String)str)` s str ### 02Records [](https://javabetter.cn/basic-extra-meal/immutable.html) ```java public final class Writer { private final String name; private final int age; public Writer(String name, int age) { this.name = name; this.age = age; } public int getAge() { return age; } public String getName() { return name; } } ``` Records Record `equals()``hashCode()``toString()` getter setter Lombok Records Writer ```java public record Writer(String name, int age) { } ``` ```java public final class Writer extends java.lang.Record { private final java.lang.String name; private final int age; public Writer(java.lang.String name, int age) { /* compiled code */ } public java.lang.String toString() { /* compiled code */ } public final int hashCode() { /* compiled code */ } public final boolean equals(java.lang.Object o) { /* compiled code */ } public java.lang.String name() { /* compiled code */ } public int age() { /* compiled code */ } } ``` final private final `toString()``hashCode()``equals()` getter get setter Records Records ```java public class WriterDemo { public static void main(String[] args) { Writer writer = new Writer("",18); System.out.println("toString" + writer); System.out.println("hashCode" + writer.hashCode()); System.out.println("name" + writer.name()); System.out.println("age" + writer.age()); Writer writer1 = new Writer("", 18); System.out.println("equals" + (writer.equals(writer1))); } } ``` ``` toStringWriter[name=, age=18] hashCode1130697218 name age18 equalstrue ``` ### 03switch switch [](https://mp.weixin.qq.com/s/1BDDLDSKDGwQAfIFMyySdg)switch diss Java 13 Java 8 Java 6 Java 8 Java 8 switch ```java public class SwitchDemo { enum PlayerTypes { TENNIS, FOOTBALL, BASKETBALL, PINGPANG, UNKNOWN } public static void main(String[] args) { System.out.println(createPlayer(PlayerTypes.BASKETBALL)); } private static String createPlayer(PlayerTypes playerType) { return switch (playerType) { case TENNIS -> ""; case FOOTBALL -> "C"; case BASKETBALL -> ""; case PINGPANG -> ""; case UNKNOWN -> throw new IllegalArgumentException(""); }; } } ``` `->` return ### 04Text Blocks Text Blocks HTML SQL `\n` ```java public class OldTextBlock { public static void main(String[] args) { String html = "\n" + " \n" + "

Hello, world

\n" + " \n" + "\n"; System.out.println(html); } } ``` Java 14 ```java public class NewTextBlock { public static void main(String[] args) { String html = """

Hello, world

"""; System.out.println(html); } } ``` ![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8xMTc5Mzg5LTU3Njg1YmQzZDdmNzRkMDcuZ2lm) ---- GitHub 17000+ [ Java ](https://github.com/itwanger/toBeBetterJavaer) PDF Java&OOPJava IOJava NIOJVM 32 500+[GitHub 17000+ Java ](https://javabetter.cn/overview/) **** **222** ![](https://cdn.paicoding.com/tobebetterjavaer/images/gongzhonghao.png)
Web Proxy Viewer  |  New URL  |  Original Page