1
resposta

pq usou cast quando atribuiu empresas em uma list mas na impressão não usou?

pq usou cast quando atribuiu empresas em uma list mas na impressão não usou?(pq ele ja foi enviado como list entao pq usar cast em um e outro não???)

1 resposta

Olá Jade, tudo bem com você?

Peço desculpas pela demora em obter um retorno.

Não há necessidade de um cast para realizar a exibição, pois a variável empresa presente no laço for já é tipo Empresa.

No código presente no arquivo listaEmpresas.jsp, onde é realizado o cast, na seguinte linha, List<Empresa> lista = (List<Empresa>)request.getAttribute("empresas");, o método getAttribute() retorna um objeto do tipo Object, que é o tipo genérico para qualquer atributo armazenado em um objeto ServletRequest. O cast (List<Empresa>) é usado para converter o objeto retornado em uma lista específica de empresas (List<Empresa>).

O motivo pelo qual o cast não é usado na impressão é porque, uma vez que a lista foi atribuída a uma variável de tipo List<Empresa>, o Java é capaz de inferir o tipo do objeto e o cast não é mais necessário. Portanto, o loop for seguinte: for (Empresa empresa : lista) {, pode ser usado diretamente sem a necessidade de um cast explícito.

O código <%= empresa.getNome() %> dentro do loop é uma expressão que será avaliada e seu resultado será substituído no lugar do código JSP quando a página for renderizada. A variável empresa é uma instância da classe Empresa e o método getNome() está sendo chamado para obter o nome da empresa e exibi-lo.

Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!