BT

Java 10 lançado

| por Ben Evans Seguir 31 Seguidores , traduzido por Diogo Carleto Seguir 40 Seguidores em 26 abr 2018. Tempo estimado de leitura: 2 minutos |

A Oracle liberou uma nova versão do Java - o Java 10. Este chega apenas seis meses após o lançamento do Java 9. O próximo lançamento com suporte de longo prazo é o Java 11, a ser lançado em setembro.

O lançamento do Java 10 imediatamente deixa o Java 9 obsoleto e nenhum lançamento adicional de suporte do Java 9 será disponibilizado. A partir de 20 de março, as únicas versões do Java com suporte gratuito da Oracle são o Java 8 e o Java 10. O próximo lançamento com suporte de longo prazo disponível é o Java 11, que será lançado em setembro de 2018.

A versão final é virtualmente igual a RC1 e nenhuma mudança significativa foi adicionada desde que a InfoQ relatou o conteúdo da versão em novembro de 2017.

A documentação completa desta versão está disponível assim como as notas de lançamento para as mudanças da linguagem desta versão.

Para o desenvolvedor, uma das principais funcionalidades é a chegada do var. Essa é uma melhoria para a inferência de tipos no Java que pode ser mais significante do que inicialmente parece. Em um simples caso o uso de var nos permite código como:

var foo = new ArrayList();

A implementação do Java 10 tornou o var um nome de tipo reservado ao invés de uma palavra chave. Isso significa que código que usa var como variável, método ou nome de pacote não será afetado.

Assim como os casos simples, isso na verdade permite construções de programação que não eram possíveis antes. Por exemplo, o javac sempre permitiu uma forma muito limitada de inferência de tipos:

public class Test {
    public static void main(String[] args) {
        (new Object() {
            public void bar() {
                System.out.println("bar!");
            }
        }).bar();
    }
}

e este caso é conhecido na comunidade Java desde antes da chegada do Java 7.

O problema com este tipo de inferência é que não existe aplicação real do tipo "Object com um método bar" dentro do compilador, este tipo é impossível de expressar como um tipo de variável.

Com a chegada do Java 10, o tipo de variáveis não precisa ser explicitado, e, em vez disso, o var pode nos permitir preservar as informações do tipo estático evitando a declaração do tipo. Isso significa que agora podemos modificar nosso exemplo e escrever:

var o = new Object() {
    public void bar() {
        System.out.println("bar!");
    }
};

o.bar();

Este uso de var como um "tipo mágico" permite que os programadores preservem o tipo de informação para cada uso distinto da inferência de tipos, que de alguma forma nos faz lembrar da restrições de tipo dos Java Generics.

Usos mais avançados do uso de var com tipos não declaráveis são possíveis, e embora o recurso não seja capaz de satisfazer todas as críticas do sistema de tipos do Java, ele representa um passo definitivo (se cauteloso) adiante.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Incorporou o que é feio no c# by Fabio Luis Rodrigues

A linguagem incorporou o que é feio no c# alegando ser mais útil e rápido para o desenvolvedor, mas isso é questão de gosto.
Eu particularmente prefiro definir o tipo da variável. É questão de gosto.

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

1 Dê sua opinião

Faça seu login para melhorar sua experiência com o InfoQ e ter acesso a funcionalidades exclusivas


Esqueci minha senha

Follow

Siga seus tópicos e editores favoritos

Acompanhe e seja notificados sobre as mais importantes novidades do mundo do desenvolvimento de software.

Like

Mais interação, mais personalização

Crie seu próprio feed de novidades escolhendo os tópicos e pessoas que você gostaria de acompanhar.

Notifications

Fique por dentro das novidades!

Configure as notificações e acompanhe as novidades relacionada a tópicos, conteúdos e pessoas de seu interesse

BT