Casting de uma Collection

6 respostas
S

Nem estou desenvolvendo um site, onde tenho uma listagem de empresas cadastradas.

Só que da dando um warning no meu JSP é acho anti-estetico o warning na minha pagina.

List<Empresa> empresas = (ArrayList<Empresa>) request.getAttribute("listaEmpresas");

Warning : Type safety: The cast from Object to ArrayList<Empresa> is actually checking against the erased
type ArrayList

Como eu removo esse warning???

Atencisomente,

6 Respostas

J

Esse warning geralmente é ignorado.

Não há um codigo muito eficiente que possa substituir esse cast, poderia usar:

new ArrayList&lt;Empresa&gt;((Collection) request.getAttribute("listaEmpresas"));

Mas não recomendo.

Se quer só sumir com ele, use:

@SuppressWarnings("unchecked");
S

Mais eu poderia usar a annotation em um JSP???

J

Use na variável:

@SuppressWarnings("unchecked"); List&lt;Empresa&gt; empresas = (ArrayList&lt;Empresa&gt;) request.getAttribute("listaEmpresas");

Uma coisa que não tem a ver com o assunto original, mas, porque está usando um código assim em um JSP? É realmente necessário? Seria melhor usar JSTL.

S

O unico framework que eu to usando é o Hibernate…

Nunca usei o JSTL. E ainda to tendo problemas com o hibernate, não queria ir juntando muitos frameworks de uma vez so.

J

Na realidade JSTL não é um framework, é só uma biblioteca de tags.

http://java.sun.com/products/jsp/jstl/reference/docs/index.html

http://www.onjava.com/pub/a/onjava/2002/03/13/jsp.html

Se sua intenção é percorrer essa coleção, sugiro que faça assim (com JSTL):

&lt;c:forEach var="empresa" itens="${listaEmpresas}"&gt; &lt;c:out value="${empresa.nome}" /&gt; &lt;/c:forEach&gt;

S

Vou dar uma olhada sobre o assunto…

Mas vlw pela ajuda…

Criado 30 de outubro de 2008
Ultima resposta 31 de out. de 2008
Respostas 6
Participantes 2