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

Can not convert from element type Object to Session

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

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

现在,我想重复这些:

for(Session s : sessions){}

但是,我收到一个类型不匹配错误

Can not convert from element type Object to Session

我该如何解决这个问题?

TL;DR: 不要使用 RAWTYPES

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

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

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

有关详细信息,请阅读 this