Olá pessoas, estou com duas dúvidas, a primeira é rápida:
- Ainda cai Serialização na OCJP 6?
A segunda é um exercício do livro da Kathy, para ser mais específico o exercício 8 do capítulo 7, segue:
Dado um método declarado como:
public static <E extends Number> List<? super E> process(List<E> nums)
Um programador deseja usar esse método da seguinte forma:
// INSIRA AS DECLARAÇÕES AQUI
output = process(input);
Quais pares de declarações poderiam ser colocados em // INSIRA AS DECLARAÇÕES AQUI para permitir a compilação do código?
B.
ArrayList<Integer> input = null;
List<Integer> output = null;
Segundo o livro a opção B está correta, mais quando compilei esse código recebo o seguinte erro:
Test.java:10: incompatible types
found : java.util.List<capture#469 of ? super java.lang.Integer>
required: java.util.ArrayList<java.lang.Integer>
output = process(input);
^
1 error
E mais uma coisa, no livro diz que o tipo de retorno é declarado como um List e portanto a linha:
List<Integer> output = null; // Não pode ser ArrayList<Integer> output = null;
Mas no tipo base o polimorfismo não devia se aplicar?
Enfim é só(tudo) isso, faço minha prova próxima quarta me desejem sorte!