Ya hable de java 16, ahora vamos a ver una de sus mejoras: Pattern Matching para instanceof
Antes de esta característica hacíamos esto :
if (obj instanceof String) {
String s = (String) obj; // grr...
...
}
luego de java 16, podemos resolver el casteo de la siguiente manera :
if (obj instanceof String s) {
// Y aca usamos s como un string
...
}
Dejo link : https://openjdk.java.net/jeps/394