我有这些嵌套的哈希集,其中内部包含String值。
{{a,b},{b,c},{c,e}}
在我的代码中有一点,我不知道我是在处理内部哈希集还是外部哈希集。我试图通过使用以下代码行来确定:
System.out.println(loopIterator3.next() instanceof String);
//(FYI :Iterator <HashSet> loopIterator3 = hsConc2.iterator();)
Run Code Online (Sandbox Code Playgroud)
这行代码似乎产生了一个错误:
prog.java:61: 错误:类型不兼容:HashSet 无法转换为 String System.out.println(loopIterator3.next() instanceof String);
当loopIterator3确实遍历内部哈希集时,我希望它会采用字符串值。为什么编译器认为它是一个哈希集?此外,为什么编译器认为我正在尝试转换?
有什么想法/建议吗?
import java.util.Arrays;
import java.util.HashSet;
class Scratch {
public static void main(String[] args) {
HashSet<HashSet<String>> hashSets = new HashSet<>(Arrays.asList(newSet("a", "b"), newSet("b", "c"), newSet("c", "e")));
System.out.println(hashSets.iterator().next() instanceof String); //error
System.out.println(hashSets.iterator().next().iterator().next() instanceof String);
}
private static HashSet<String> newSet(String... str) {
return new HashSet<>(Arrays.asList(str));
}
}
Run Code Online (Sandbox Code Playgroud)