无法从元素类型Object转换为Session

时间:2015-04-05 13:07:03

标签: java session servlets

private static final Set sessions = Collections.synchronizedSet(new HashSet());

我将会话存储在上面显示的名为sessions的Set类型引用变量中。

现在,我想迭代这些:

for(Session s : sessions){}

但是,我收到了

的类型不匹配错误
Can not convert from element type Object to Session

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

TL; DR:不要使用RAWTYPES

您使用的是原始Set,这意味着编译器只能知道您的Set包含Object

您需要指定集合的​​通用类型:

Set<Session> sessions = Collections.synchronizedSet(new HashSet<>());

有关详情,请参阅this