Questão FC373237
Considere o método a seguir, que é parte de um programa Java. \(\underset{......}{I}\) { return 1; } Em condições ideais, para que esse método possa receber como para.metro um obje
Linguagens de Programação
FCC · 2023
Considere o método a seguir, que é parte de um programa Java.
\(\underset{......}{I}\) {
return 1;
}
Em condições ideais, para que esse método possa receber como para.metro um objeto genérico e retornar corretamente o valor 1, do tipo lnt, a lacuna \(I\) deve ser corretamente preenchida com
- public <T> int salvar (T obj)
- public T int salvarDados(Object obj)
- public int salvarDados(<T> obj)
- public <T> int salvarDados(<T> obj)
- public int salvar (GenericObject obj)
Mostrar resposta e comentário
Gabarito
A
Comentário do professor
public <T> int salvar(T obj) declara um método genérico em que o parâmetro de tipo T é introduzido especificamente para esse método. A sintaxe <T> vem antes do tipo de retorno e indica que T é uma variável de tipo que pode representar qualquer tipo de referência.
Dentro do método, T obj aceita um objeto de qualquer classe (tipos primitivos devem ser usados via boxing). Essa generalidade permite reutilizar o mesmo método para diferentes tipos sem perda de segurança de tipo em tempo de compilação.
O tipo de retorno int é independente do parâmetro genérico; devolver 1 é válido porque corresponde ao tipo primitivo int. Em suma, a declaração posiciona corretamente o parâmetro de tipo e o parâmetro do método, garantindo que o código compile e aceite objetos genéricos.
Conteúdo do catálogo FC Concursos · Atualizado em