从HashSet初始化方法

时间:2015-06-17 21:27:49

标签: java hashset

我添加了元素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的内容可用?

1 个答案:

答案 0 :(得分:3)

为什么要在循环中构建 new Magic实例(或者尝试,无论如何)?当然你只需要集合中的那些:

for (Magic spell : spells) {
    spell.go();
}

请注意,目前您还忽略了循环中的set变量 - 我已将其重命名为spell更加明显。每当你发现自己声明一个变量然后忽略它时,这就暗示了一些错误...