Arrays.asList(E [] e)将数组的视图作为List返回,但是当数组为空时,它会抛出NullPointerException.
Arrays.asList(null); //NullPointerException.
其实我在做
List list = possibleNullArray != null ? Arrays.asList(possibleNullArray) : Collections.EMPTY_LIST;
但是,在我的项目中创建一个实用程序类只是为了这个目的,我不喜欢这样做.有没有一些实用程序类,或像Apache Commons或Guava的库将空数组转换为空List? (即阵列和集合之间的零安全转换器).
你如何解决这个问题?
解决方法
我不知道Apache Commons / Guava中的任何util方法将会创建一个空的List实例.
你可以做的最好的事情是预先初始化可能的空数组,例如与ArrayUtils.nullToEmpty()
.尽快摆脱null.
SomeObject[] array = ArrayUtils.nullToEmpty(possiblyNullArray);