DEV Community

Discussion on: Novidades do Java 11

Collapse
 
wldomiciano profile image
Wellington Domiciano

Muito legal o artigo, resumiu bem!

Só uma observação quando vc diz "São as variáveis de tipo "genérica", em que seu tipo é definido em tempo de execução".

Na verdade toda variável tem um tipo definido já em tempo de compilação, não de execução. O tipo é inferido com base no valor que vc usa para inicializar a variável.

var a = new ArrayList<String>(); // a é ArrayList<String>
var b = 1; // b é int
var c = "c"; // c é String
Enter fullscreen mode Exit fullscreen mode

Para comprovar isso, experimente compilar o código abaixo:

public class Test {
  public static void main(String... args) {
    var x = 123;
    x = "123";
  }
}
Enter fullscreen mode Exit fullscreen mode

Vc vai ver que ocorrerá um erro de compilação com a mensagem "error: incompatible types: String cannot be converted to int".

Collapse
 
bilbolixeiro profile image
Bilbo o lixeiro

Obrigado pela observação! Realmente é isto mesmo que você falou. Vou corrigir a publicação 😄