The javadoc of ArrayUtils.isNotEmpty() in Apache Commons Lang seems to be wrong. Or, at least, misleading. It says

Returns: true if the array is not empty or not null

In my understanding, an empty array is not null. So, according to the above definition, isNotEmpty() should return true for an empty array, which is counterintuitive.

Wouldn't

Returns: true if the array is not null and not empty

be more correct?

有帮助吗?

解决方案

Wouldn't

Returns: true if the array is not null and not empty

be more correct?

Yes you are right. The doc is a bit misleading. In fact, if you see the source code, it does exactly that:

public static boolean isNotEmpty(Object[] array) {
   return (array != null && array.length != 0);
}

其他提示

In my understanding, an empty array is not null.

Not correct. Counterexample:

int a[];

a is an empty array (as it doesn't contain anything), and it's also null since it wasn't initialized.

In this case, isNotEmpty will return false, since it is empty.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top