olá estava fazendo um simulado pra SCJP…
e encontrei uma pergunta na qual não concordei muito com a resposta…
eis a pergunta: observe o seguinte codigo e marque a alternativa correta…
List <? extends String> list = new ArrayList <String > ();
for ( Object o : list )
{
System.out.println(o);
}
// possiveis respostas.
A - Compile error.
B - Runtime error.
C - Nothing can be added to list.
D - Only a String reference can point to list. Hence a String reference is
requerid in the loop.
E - Nome of the above.
// resposta correta (segundo o simulado):
The correct answer is C.
You can always use an object to point to this list.
Since the “?” wild character is present in the declaration,
nothing can be added to the List.
// minha resposta
respsota A esta correta.
Não podemos extends a Classe String… em List <? extends String>
portanto daria um erro do Compilador
bom é isso que eu acho…
alguem ai poderia me explicar melhor esta questão?
o pq ele escolheu a letra C como resposta correta?
desde já agradeço…
Jeferson