Isso funciona???
List<String> getList(List<String> l) {
List l2 = new ArrayList();
return l2;
}
[EDITADO]: ‘return l2;’
Isso funciona???
List<String> getList(List<String> l) {
List l2 = new ArrayList();
return l2;
}
[EDITADO]: ‘return l2;’
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!!!
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!!!
Mesmo retornando l2 ainda funciona. O problema é que gerará um warning informando que a lista necessita de uma checagem conforme o declarado.
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…