如何检查 Multimap 的值是否为 null 或为空?
How to check value of Multimap is null or empty?
我正在使用 Guava 中的 Multimap,如下所示,因为我可以多次使用相同的键但使用不同的值。
Multimap<Long, Plesk> map = ArrayListMultimap.create();
// populate data into map
// extract value from the above map
Collection<Plesk> plesk = map.get(id);
现在我正在从同一个多图中提取特定的键值。现在如何检查 plesk
变量是否为空?在我打印出 map
变量后,我看到一个条目为:
1100178=[null]
所以 plesk
变量的值是 [null]
for id 1100178
如果我使用下面的代码来检查 null 和 empty 然后它不起作用:
if (CollectionUtils.isEmpty(plesk)) {
// do stuff
}
检查 multimap 的值是否为 null 的正确方法是什么?
Multimap.get(key)
的结果永远不会是 null
。如果没有与该键关联的值,它 returns 一个空的 Collection
。
您的 plesk
集合似乎是一个只有一个元素的集合,那个元素是 null
。
正如其他人已经说过的,multimap.get(key)
的结果永远不会为 null,如果没有关联的值,returns 将是一个空集合。
从你的问题中,我了解到你想检查是否存在值,如果没有找到特定键的值,则执行一些操作。
我会做这样的事情:
Multimap<String, String> multimap = LinkedListMultimap.create();
multimap.put("Name", "SomeName");
multimap.put("ID", "");
multimap.put("City", "SomeCity");
Collection<String> contentsofID = multimap.get("ID");
if (contentsofID.toString().equals("[]")) {
// This means that there is no value in it
// Then perform what you want
}
我正在使用 Guava 中的 Multimap,如下所示,因为我可以多次使用相同的键但使用不同的值。
Multimap<Long, Plesk> map = ArrayListMultimap.create();
// populate data into map
// extract value from the above map
Collection<Plesk> plesk = map.get(id);
现在我正在从同一个多图中提取特定的键值。现在如何检查 plesk
变量是否为空?在我打印出 map
变量后,我看到一个条目为:
1100178=[null]
所以 plesk
变量的值是 [null]
for id 1100178
如果我使用下面的代码来检查 null 和 empty 然后它不起作用:
if (CollectionUtils.isEmpty(plesk)) {
// do stuff
}
检查 multimap 的值是否为 null 的正确方法是什么?
Multimap.get(key)
的结果永远不会是 null
。如果没有与该键关联的值,它 returns 一个空的 Collection
。
您的 plesk
集合似乎是一个只有一个元素的集合,那个元素是 null
。
正如其他人已经说过的,multimap.get(key)
的结果永远不会为 null,如果没有关联的值,returns 将是一个空集合。
从你的问题中,我了解到你想检查是否存在值,如果没有找到特定键的值,则执行一些操作。
我会做这样的事情:
Multimap<String, String> multimap = LinkedListMultimap.create();
multimap.put("Name", "SomeName");
multimap.put("ID", "");
multimap.put("City", "SomeCity");
Collection<String> contentsofID = multimap.get("ID");
if (contentsofID.toString().equals("[]")) {
// This means that there is no value in it
// Then perform what you want
}