gpt4 book ai didi

java - CollectionUtils.isNotEmpty() 是否比 null 检查更好?

转载 作者:搜寻专家 更新时间:2023-11-01 01:25:45 38 4
gpt4 key购买 nike

许多建议在下面的用例中也使用 CollectionUtils.isNotEmpty(coll) 而不是 coll != null

if (CollectionUtils.isNotEmpty(coll)) {
for (String str : coll) {
}
}

代替

if (coll != null) {
for (String str : coll) {
}
}

在这里使用 CollectionUtils.isNotEmpty(coll) 而不是其他有什么理由/优势吗?谢谢。

最佳答案

这里没有真正的优势。就算有,那也是极小的。它只是阻止创建 Iterator 和执行分支指令,仅此而已。

这个小优势只有在集合为空时才会出现。以下循环:

for (String str : coll) {
...
}

相当于:

for (Iterator<String> iterator = col.iterator(); iterator.hasNext();) {
String str = iterator.next();
...
}

当集合为空时,对 CollectionUtils.isNotEmpty(coll) 的检查会阻止循环执行。因此,没有在内存中创建Iterator,也没有调用hasNext()。这是以 O(1) 调用 coll.isEmpty() 为代价的。

关于java - CollectionUtils.isNotEmpty() 是否比 null 检查更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30666524/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com