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.
vara=newArrayList<String>();// a é ArrayList<String>varb=1;// b é intvarc="c";// c é String
Para comprovar isso, experimente compilar o código abaixo:
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.
Para comprovar isso, experimente compilar o código abaixo:
Vc vai ver que ocorrerá um erro de compilação com a mensagem "error: incompatible types: String cannot be converted to int".
Obrigado pela observação! Realmente é isto mesmo que você falou. Vou corrigir a publicação 😄