Generics

4 respostas
rissato

Isso funciona???

List<String> getList(List<String> l) { List l2 = new ArrayList(); return l2; }

[EDITADO]: ‘return l2;’

4 Respostas

Guerr

Isto tá com cara de questão de certificação!!!

A pegadinha está no fato da função retornar a lista que foi recebida como parâmetro e não a lista criada sem generics… A lista l2 é criada de graça e não é utilizada em nenhum lugar…

A resposta é SIM!!! FUNCIONA!!!

rissato

Guerr@:
Isto tá com cara de questão de certificação!!!

A pegadinha está no fato da função retornar a lista que foi recebida como parâmetro e não a lista criada sem generics… A lista l2 é criada de graça e não é utilizada em nenhum lugar…

A resposta é SIM!!! FUNCIONA!!!


Me descuple, copiei a questão errado. Esse método retorna a lista l2…

Rafael_Nunes

Mesmo retornando l2 ainda funciona. O problema é que gerará um warning informando que a lista necessita de uma checagem conforme o declarado.

Guerr

A resposta é que vai continuar funcionando porém não é um código seguro…

Se você adicionar o seguinte:

static List<String> getList(List<String> l) { List l2 = new ArrayList(); l2.add(1); return l2; }

O código vai continuar “funcionando” (entre aspas mesmo)

Apesar de getList(null).size() funcionar e retornar 1, getList(null).get(0) dá ClassCastException. Isto acontece pois o generics somente faz o cast automático para você, não influenciando o que está realmente dentro da classe…

Criado 4 de dezembro de 2006
Ultima resposta 4 de dez. de 2006
Respostas 4
Participantes 3