对性能CollectionUtils.isEmpty()或collection.isEmpty()有什么好处

Dan*_*ans 5 java collections performance

如果您已经知道集合不为null,那么对性能有什么好处.使用!collection.isEmpty()CollectionUtils.isNotEmpty(collection)来自Apache Commons lib?

或者没有任何性能差异?

Flo*_*etz 6

CollectionUtils.isNotEmpty的代码(假设我们在这里讨论Apache Commons)...

public static boolean isEmpty(Collection coll)
{
    return ((coll == null) || (coll.isEmpty()));
}

public static boolean isNotEmpty(Collection coll)
{
    return (!(isEmpty(coll)));
}
Run Code Online (Sandbox Code Playgroud)

...所以,不是真正的区别,一个空检查不会是你的瓶颈;-)

  • 所以方法的重点不是快,而是跳过显式的空检查. (2认同)

Gho*_*ica 5

其他答案是正确的,但是要确定一下:

你为什么要在乎呢?您的应用程序是否存在性能问题;并仔细分析指出该方法;所以你在寻找替代品吗?

因为...如果不是...那么可能是我们在考虑 PrematureOptimization

还有一个方面:如果“ java标准库”提供了功能;我总是比起来自“外部库”的东西更喜欢它们。当然,ApacheCommons在当今很普通。但是如果我所有其他代码已经在使用它,我只会对其添加依赖项。