Questão de Programação — Frameworks Java — FCC 2013
ProgramaçãoFrameworks Java
- Código
- fc007458
- Banca
- FCC
- Órgão
- TRT - 9ª REGIÃO (PR)
- Ano
- 2013
- Nível
- Superior
- Cargo
- Analista Judiciário - Tecnologia da Informação
Considere clientes um objeto List que contém um conjunto de registros retornados de uma tabela do banco de dados por meio da execução de uma query SQL em uma aplicação web desenvolvida com Java utilizando o Hibernate. Considere também a existência de uma classe de entidade chamada Cliente que faz o mapeamento objeto-relacional com a tabela cliente do banco de dados. Nessas condições, considere os fragmentos de código abaixo:Exemplo 1: for (int indice=0; indice<clientes.size();indice++) { Cliente cli = (Cliente) clientes.get(indice);out.println(cli.getNomCli());} Exemplo 2:Iterator it = clientes.iterator();while (it.hasNext()) {Cliente cli = (Cliente) it.next();out.println(cli.getNomCli());}Exemplo 3:for (Object objeto_cliente:clientes) {Cliente cli = (Cliente) objeto_cliente;out.println(cli.getNomCli());}É correto afirmar que:
- AO Exemplo 2 está incorreto, pois não existe o método get na interface List, apenas na interface Set. O Exemplo 3 também está incorreto, pois a instrução for precisa de três parâmetros (início, limite e incremento/decremento) e, no exemplo, só recebe um.
- BO Exemplo 2 está incorreto, pois o método next da classe Iterator necessita de um parâmetro inteiro, indicando qual será o incremento ou salto na lista. Por exemplo, se for passado o parâmetro 1, o apontador de operações da lista salta uma posição a frente.
- CApesar do Exemplo 3 não acusar erro de compilação, o cast do objeto_cliente do tipo Object para o objeto cli do tipo Cliente não é necessário, pois a conversão de tipos, nesse caso, é automática. Além disso, este laço repete o mesmo elemento da lista infinitamente, pois não tem um incremento.
- DO Exemplo 2 está incorreto, pois o método iterator precisa receber como parâmetro o tamanho da lista. Como esse valor não foi passado como parâmetro, haverá um erro na compilação.
- Eos três exemplos, quando executados em condições adequadas, terão o mesmo resultado, percorrendo a lista até o final. A cada passagem pelo interior do laço, um elemento da lista é colocado em um objeto da classe Cliente e, em seguida, o nome do cliente é exibido.