如何满足在java / jsp中转换集合的警告

时间:2011-06-29 13:36:20

标签: java jsp collections

在我的JSP中,我收到了关于此演员的警告

<%
  Collection<Server> svr = (Collection<Server>)request.getAttribute("serverCollection");
%>

instanceOf似乎无法在此处运作

4 个答案:

答案 0 :(得分:3)

<%
    @SupressWarnings("unchecked")
    Collection<Server> svr = (Collection<Server>)request.getAttribute("serverCollection");
%>
顺便说一句,使用scriplets并不是一件好事,请阅读thread about avoiding scriplets

答案 1 :(得分:1)

你不能“满足”那个警告。这是一个未经检查的演员,你不能真正做任何事情,因为该方法返回Object

如果您绝对肯定该属性将始终包含Collection<Server>,则可以添加@SuppressWarnings("unchecked")注释。

答案 2 :(得分:1)

您可以使用JSTL而不是scriptlet。它看起来像是:

<c:set var="svr" value="${requestScope['serverCollection']}"/>

答案 3 :(得分:0)

您无法避免此警告(除非通过抑制它)。问题是Java在运行时只能在运行时检查对象在运行时是否为Collection类型。它无法检查它是Collection<Server>类型。这就是错误的含义。