平时开发过程中有时候会看到
List<String> list = jedis.hmget("hashKey", "key1");
if (list == null || list.size() == 0) {
return;
}
String resStr = list.get(0);
……
这里的判断是有问题的,因为Jedis 的 hmget 是不会返回null 的
,如果Key 不存在,它会返回 一个包含 null 对象的 list 。也就是说 上面的 resStr 是 null
。
这里把下面流程贴一下
着重看红框中 result.add(null) 。 并不是为空就跳过了
所以Jedis 的 hmget 是完全可以获取到 一个 全是空对象(null)的list 列表。