我添加了元素spells.add(new Magic("boring",2,true));
和类似的元素,但是当我尝试运行
for (Magic set : spells) {
Magic magic1 = new Magic(spells);
magic1.go();
}
我收到错误no suitable constructor found for Magic(java.util.HashSet<Magic>
如果我将Magic magic1 = new Magic(spells);
更改为Magic magic1 = new Magic("boring",2,true)
,我会得到我想要的结果,但我希望能够使用HashSet。
如何使HashSet的内容可用?
答案 0 :(得分:3)
为什么要在循环中构建 new Magic
实例(或者尝试,无论如何)?当然你只需要集合中的那些:
for (Magic spell : spells) {
spell.go();
}
请注意,目前您还忽略了循环中的set
变量 - 我已将其重命名为spell
更加明显。每当你发现自己声明一个变量然后忽略它时,这就暗示了一些错误...