[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/Coder994/JavaGuide/patch-1/docs/java/new-features/java14.md [Back]  [Original]

---
title: Java 14 
category: Java
tag:
  - Java
---

## 

 JVM `-XX:+ShowCodeDetailsInExceptionMessages`

```java
a.b.c.i = 99; // 
```

Java 14 

```java
Exception in thread "main" java.lang.NullPointerException
    at NullPointerExample.main(NullPointerExample.java:5)
```

Java 14 

```java
 // 
Exception in thread "main" java.lang.NullPointerException:
        Cannot read field 'c' because 'a.b' is null.
    at Prog.main(Prog.java:5)
```

## switch ()

Java12  switch Java14  JDK14 

Java12  switch  lambda  break Java13  `yield`  block 

```java
String result = switch (day) {
            case "M", "W", "F" -> "MWF";
            case "T", "TH", "S" -> "TTS";
            default -> {
                if(day.isEmpty())
                    yield "Please insert a valid day.";
                else
                    yield "Looks like a Sunday.";
            }

        };
System.out.println(result);
```

## 

### record 

`record`  **** Java  `record`  `class`  `toString()``hashCode()`, `equals()`

 `class`  lombok `@Getter,@ToString,@EqualsAndHashCode`

```java
/**
 * 
 * 1. final
 * 2. 
 * record
 */
final class Rectangle implements Shape {
    final double length;
    final double width;

    public Rectangle(double length, double width) {
        this.length = length;
        this.width = width;
    }

    double length() { return length; }
    double width() { return width; }
}
/**
 * 1. record
 * 2. equals()hashCode()toString()
 * 3. toString
 */
record Rectangle(float length, float width) { }
```

### 

Java14 

- `\` : 
- `\s` 

```java
String str = "";

String str2 = """
         \
        """;
System.out.println(str2);//  
String text = """
        java
        c++\sphp
        """;
System.out.println(text);
//
java
c++ php
```

### instanceof 

**** Java 12 

## Java14 

-  Java11  ZGC  G1  GC  Linux  Java14  MacOS  Window ZGC  G1 
-  CMS(Concurrent Mark Sweep) 
-  jpackage  jar  linux `deb``rpm`window `msi``exe`

Web Proxy Viewer  |  New URL  |  Original Page