下面我有一些代码,将两个条目添加到第一个多图,将一个条目添加到第二个,然后比较两者。由于键是相同的“Dec”(见输出),为什么它输出 false?
输入
Multimap<String, String> first = ArrayListMultimap.create();
Multimap<String, String> second = ArrayListMultimap.create();
first.put("Dec", "18");
first.put("Dec", "12");
second.put("Dec", "18");
for (String key : second.keys()) {
System.out.println(first.get(key));
System.out.println(second.get(key));
System.out.println(first.containsEntry(key, second.get(key)));
}
输出
[18, 12]
[18]
false
编辑:对于那些不理解下面答案的人,second.get(key) 将返回一组字符串(尽管只有一个),当然还有一组字符串 =/= string
最佳答案
您要查找键为 “Dec”
且值为“仅包含 “18”
”的集合的条目。该条目不存在于first
或second
中。
现在如果你使用:
System.out.println(first.containsEntry("Dec", "18"));
然后我希望将打印true
。基本上,您需要区分单个条目值和“与键关联的条目值集合”。
关于java - Guava Multimap 包含入口问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14736221/