如果您已经知道集合不是空的,那么性能更好的是什么。使用Apache中的!collection.isEmpty()
或CollectionUtils.isNotEmpty(collection)
?
还是没有什么表现上的差别?
发布于 2015-07-29 13:00:03
CollectionUtils.isNotEmpty的代码(假设我们在这里讨论Apache )..。
public static boolean isEmpty(Collection coll)
{
return ((coll == null) || (coll.isEmpty()));
}
public static boolean isNotEmpty(Collection coll)
{
return (!(isEmpty(coll)));
}
...so,没有什么区别,一个空检查不会成为您的瓶颈;-)
发布于 2015-07-29 13:02:47
这种差异可以忽略不计(额外的空检查),所有调用都可以很容易地内联,即使是由C1编译器。一般来说,您不应该担心这种简单方法的性能。即使其中一个速度慢了两倍,与应用程序的其余代码相比,它仍然速度快得惊人。
发布于 2015-07-29 13:01:27
在apache中定义的Collection.isEmpty作为CollectionUtils间接地使用collection.isEmpty()方法。
虽然两者之间没有明显的区别,但只是
CollectionUtils.isEmpty
是NullSafe
,正如您说的,您知道集合不是空的,所以两者都一样好(几乎)
https://stackoverflow.com/questions/31701113
复制相似问题