---
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`