Java 16 - Pattern Matching for instanceof Este é mais um recurso introduzido no Java 14 como preview e continuou assim até ser liberado definitivamente no Java 16 . O objetivo é deixar o instanceof mais simples e seguro uma vez que o “ cast” é feito em tempo de compilação. Mas não é apenas isso... public class Animal { public void dizerOla (Animal animal) { if (animal instanceof Cao cao) { cao.latir(); } else if (animal instanceof Gato gato) { gato.miar(); } } } Ainda podemos utilizar expressões mais complexas para validar a instância } else if (animal instanceof Gato gato && gato.getIdade() > 5) { Neste caso, podemos ter algumas restrições quanto às expressões após o instanceof . Por exemplo, não podemos utilizar a expressão ||. A explicação para isso é que por causa da semântica do operador...
Blog sobre a plataforma Java e assuntos relacionados