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???)
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???)
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!