LinkedHashSet lHs = new LinkedHashSet();
lHs.add("Beta");
在编译上面的代码时(tutorialspoint 使用了类似的方法),我得到了错误:
The method add(String) is undefined for the type LinkedHashSet
如果它是通用的(我认为它来自它的类声明):
LinkedHashSet<String> lHs = new LinkedHashSet<String>();
lHs.add("Beta");
然后我得到错误:
The type LinkedHashSet is not generic; it cannot be parameterized with arguments
来自Java docs ,似乎 LinkedHashSet 应该与通用版本一起工作,因为它扩展了 HashSet,而 HashSet 与 add() 一起工作。
如何将字符串添加到 LinkedHashSet?是否需要创建自己的重载 add() 方法来包含字符串?
最佳答案
查看您的代码:
class LinkedHashSet {
public static void main(String[] args) {
//LinkedHashSet<String> lHs = new LinkedHashSet<String>();
LinkedHashSet lHs = new LinkedHashSet();
lHs.add("Beta");
lHs.add("Alpha");
lHs.add("Eta");
lHs.add("Gamma");
lHs.add("Epsilon");
lHs.add("Omega");
System.out.println(lHs);
}
}
包含您的代码的类名为 LinkedHashSet
, 它隐藏了 java.util.LinkedHashSet
.你的类(class)没有add
方法,并且没有泛型类型参数。因此出现错误。
您应该重命名它。并且您应该使用通用声明( LinkedHashSet<String> lHs = new LinkedHashSet<String>();
或 Set<String> lHs = new LinkedHashSet<>();
)。
关于java - 如何将字符串添加到 LinkedHashSet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46139734/