Pular para o conteúdo principal

Postagens

Mostrando postagens de outubro, 2021

Diferenças entre o Java 11 e Java 17 - Pattern matching for instanceof e mais

    Diferenças entre Java 11 e 17 - Pattern matching for instanceof e mais Neste terceiro post vamos falar sobre Pattern matching for instanceof e algumas melhorias a mais . Caso não tenha acompanhado a primeira e segundas partes, acesse aqui   e aqui . Pattern matching for instanceof Freqüentemente, é necessário verificar se um objeto é de um certo tipo e, quando for, a primeira coisa a fazer é converter o objeto para uma nova variável desse certo tipo. Um exemplo pode ser visto no seguinte código: private static void oldStyle () { Object o = new GrapeClass( Color . BLUE , 2 ); if ( o instanceof GrapeClass ) { GrapeClass grape = ( GrapeClass ) o ; System . out .println( "This grape has " + grape .getNbrOfPits() + " pits." ); } } O resultado é: This grape has 2 pits. Com " pattern matching for instanceof ", o exemplo acima pode ser reescrito da seguinte maneira. Como você pode ver, é possível criar a variável na instância ...

Diferenças entre o Java 11 e Java 17 - Records e Sealed Classes

    Diferenças entre Java 11 e 17 - Records e Sealed Classes Neste segundo post vamos falar sobre Records e Sealed Classes . Caso não tenha acompanhado a primeira parte sobre Text Blocks e Switch Expressions , está aqui . Records Records permitirão que você crie classes de dados imutáveis. Atualmente, você precisa, por exemplo, crie uma Classe de dados usando as funções de geração automática de seu IDE para gerar construtor, getters, hashCode, equals e toString ou você pode usar o Lombok para essa finalidade. No final, você acaba com algum código clichê ou acaba com uma dependência do Lombok em seu projeto. public class GrapeClass { private final Color color ; private final int nbrOfPits ; public GrapeClass ( Color color, int nbrOfPits) { this . color = color; this . nbrOfPits = nbrOfPits; } public Color getColor () { return color ; } public int getNbrOfPits () { return nbrOfPits ; } @Override public...

Diferenças entre o Java 11 e Java 17 - Text Blocks e Switch Expressions

    Diferenças entre Java 11 e 17 - Text Blocks e Switch Expressions Aprenda as diferenças entre o Java 11 e o Java 17. Obtenha uma visão geral do modelo de licenciamento e exemplos dos novos recursos do Java 17. Neste primeiro post vamos falar sobre Text Blocks e Switch Expressions. Em 14 de setembro, o Java 17 foi lançado . É hora de dar uma olhada mais de perto nas mudanças desde o último lançamento do LTS, que é o Java 11. É feita uma breve introdução sobre o modelo de licenciamento e, em seguida, algumas das mudanças entre o Java 11 e o Java 17 são destacadas, principalmente por meio de exemplos. Introdução Primeiro, vamos dar uma olhada no modelo de licenciamento e suporte Java. O Java 17 é uma versão LTS (Long Term Support), assim como o Java 11. Com o Java 11, uma nova cadência de lançamento começou. Java 11 veio com suporte até setembro de 2023 e com suporte estendido até setembro de 2026. Além disso, com o Java 11, o Oracle JDK não era mais gratuito para produçã...