从 HashSet 初始化方法
Initialize method from 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 的内容可用?
你为什么要在循环中构造一个 new Magic
实例(或者试图,无论如何)?当然,您只需要套装中的那些:
for (Magic spell : spells) {
spell.go();
}
请注意,目前您也在循环中忽略了 set
变量 - 我已将其重命名为 spell
以便更明显。每当您发现自己声明了一个变量然后忽略它时,这就暗示出了问题...
我添加了 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 的内容可用?
你为什么要在循环中构造一个 new Magic
实例(或者试图,无论如何)?当然,您只需要套装中的那些:
for (Magic spell : spells) {
spell.go();
}
请注意,目前您也在循环中忽略了 set
变量 - 我已将其重命名为 spell
以便更明显。每当您发现自己声明了一个变量然后忽略它时,这就暗示出了问题...