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!