Pular para o conteúdo principal

Postagens

Mostrando postagens de abril, 2021

Java 16 - Pattern Matching for instanceof

  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 ||, a variável padrão gato pode não ter sido atribuída e, portanto, a análise de fluxo determina que a vari

Microsoft anuncia sua distribuição Java

Microsoft anuncia sua distribuição Java A Microsoft anunciou neste dia a sua distribuição Java baseada no OpenJDK 11. O texto a seguir é uma tradução adaptada do post original do @brunoborges que pode ser lido aqui . “Hoje temos o prazer de anunciar a prévia do Build do OpenJDK da Microsoft, uma nova distribuição gratuita de Long-Term Support (LTS) do OpenJDK que é de código aberto e está disponível gratuitamente para qualquer pessoa implantar em qualquer lugar. Inclui binários para Java 11, baseado em OpenJDK 11.0.10 + 9, em servidores x64 e ambientes de desktop em macOS, Linux e Windows. Também estamos publicando um novo binário de acesso antecipado para Java 16 para Windows em ARM, baseado na versão mais recente do OpenJDK 16 + 36.” Visite microsoft.com/openjdk para baixar pacotes e instaladores. “Os binários do Build do OpenJDK da Microsoft para Java 11 são baseados no código-fonte OpenJDK , seguindo os mesmos scripts de construção usados ​​pelo projeto Eclipse Adoptium e

Java Records

  Java Records Imutável, Simples e limpa Esta funcionalidade da linguagem apareceu pela primeira vez na versão 14 como experimental e assim continuou até a versão 15 . Agora liberada de forma definitiva no Java 16 . O objetivo é ser possível ter classes que atuam como portadores transparentes de dados imutáveis. Os registros podem ser considerados tuplas nominais. Ou seja, após criado, um record não pode mais ser alterado. Records oferece uma uma sintaxe compacta para declarar classes que são portadores transparentes para dados imutáveis superficiais visando reduzir significamente o detalhamento dessas classes e irá melhorar a capacidade de leitura e manutenção do código. Vamos seguir um exemplo de uma classe chamada Pessoa . O primeiro exemplo vamos utilizar o modo tradicional. public class Pessoa { private String nome; private int idade; public Pessoa (String nome, int idade) { super (); this .nome = nome; this .idade = idade; } public String getNo