我有两种检查列表是否为空的方法
if (CollectionUtils.isNotEmpty(listName))
和
if (listName != null && listName.size() != 0)
我的拱门告诉我前者比后者好。但我认为后者更好。
谁能澄清一下?
原文由 Vikrant 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有两种检查列表是否为空的方法
if (CollectionUtils.isNotEmpty(listName))
和
if (listName != null && listName.size() != 0)
我的拱门告诉我前者比后者好。但我认为后者更好。
谁能澄清一下?
原文由 Vikrant 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答1.4k 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
2 回答733 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.7k 阅读
2 回答1.3k 阅读
您 绝对 应该使用
isEmpty()
。计算任意列表的size()
可能会很昂贵。当然,即使验证它是否有任何元素 也可能 很昂贵,但是没有针对size()
的优化,它 也不 能使isEmpty()
更快,反之则不然。例如,假设您有一个 没有 缓存大小的链表结构(而
LinkedList<E>
_有_)。然后size()
将成为 O(N) 操作,而isEmpty()
仍然是O(1)
。当然,此外,使用
isEmpty()
可以更清楚地说明您实际感兴趣的内容。