在Java中检查集合是否为空:哪种是最好的方法?
2022-08-31 11:19:30
我有两种方法可以检查列表是否为空
if (CollectionUtils.isNotEmpty(listName))
和
if (listName != null && listName.size() != 0)
我的足弓告诉我,前者比后者好。但我认为后者更好。
任何人都可以澄清一下吗?
我有两种方法可以检查列表是否为空
if (CollectionUtils.isNotEmpty(listName))
和
if (listName != null && listName.size() != 0)
我的足弓告诉我,前者比后者好。但我认为后者更好。
任何人都可以澄清一下吗?
您绝对应该使用 .计算任意列表的 可能很昂贵。当然,即使验证它是否具有任何元素也可能是昂贵的,但是没有优化不能使速度更快,而相反的情况并非如此。isEmpty()
size()
size()
isEmpty()
例如,假设您有一个没有缓存大小的链接列表结构(而有)。然后将成为 O(N) 操作,而仍然是 。LinkedList<E>
size()
isEmpty()
O(1)
此外,当然,使用您实际感兴趣的状态可以更清楚地说明。isEmpty()
CollectionUtils.isNotEmpty
检查您的集合是否不为空且不为空。与双重检查相比,这更好,但前提是您的项目中有这个Apache库。如果不这样做,请使用:
if(list != null && !list.isEmpty())