CONTATOS IMEDIATOS COM VAR NO JAVA 10

MATEUS MALAQUIAS

@mmalaquiasdev

Pedreiro de Software na Claro Brasil

@linguagil

@trainingcentr

 @soujava

 @javabahia

OpenJDK: Project Amber

JEP 286: Local-Variable Type Inference

JEP 302 Lambda Leftovers

JEP 305 Pattern Matching

JEP 323 Local-Variable Syntax for Lambda Parameters

JEP 325 Switch Expressions

...

Substituindo declarações de variáveis locais por VAR

Antes do JAVA 10...

URL url = new URL("http://openjdk.java.net/");

URLConnection con = url.openConnection();

Reader reader = new BufferedReader(

  new InputStreamReader(con.getInputStream())

);

 

Depois do JAVA 10...

var url = new URL("http://openjdk.java.net/");

var con = url.openConnection();

var reader = new BufferedReader(

  new InputStreamReader(con.getInputStream())

);

 

Java != JavaScript

Java continua sendo uma linguagem fortemente tipada

//como eu escrevo

var numeroDez = 10;

var usuario = new Usuario();

var minhaLista = List.of("1","2","3","4","5");

 

//como fica depois de compilado

int numeroDez = 10;

Usuario usuario = new Usuario();

List<String> minhaLista = List.of("1","2","3","4");

Existem algumas restrições no uso do var, mas vamos discutir  um pouco sobre isso :)

//errado

var nomeDoFilho;

nomeDoFilho = pai.getNomeDoFilho();

 

//certo

var nomeDoFilho = pai.getNomeDoFilho();

//nada disso vai funcionar

var ints = {0, 1, 2};

var appendSpace = a -> a + " ";

var compareString = String::compareTo;

var numbers = List.of("a", "b", "c");

numbers = List.of(1, 2, 3);

//também não vai funcionar

class Pai {

  var nomeDoFilho;

 public var getNomeDoFilho(){

     return this.nomeDoFilho;

  }

}

 

Referências

http://openjdk.java.net/projects/amber/

http://openjdk.java.net/jeps/286

http://openjdk.java.net/projects/amber/LVTIstyle.html

https://imasters.com.br/back-end/primeiro-contato-com-var-no-java-10

OBRIGADO

POR NÃO

DORMIR

@mmalaquiasdev

CONTATOS IMEDIATOS COM VAR NO JAVA 10

By Mateus Malaquias

CONTATOS IMEDIATOS COM VAR NO JAVA 10

  • 236