ใช้ArrayUtils.nullToEmpty
จากcommons-lang
ห้องสมุดสำหรับอาร์เรย์
for( Object o : ArrayUtils.nullToEmpty(list) ) {
// do whatever
}
ฟังก์ชันนี้มีอยู่ในcommons-lang
ไลบรารีซึ่งรวมอยู่ในโครงการ Java ส่วนใหญ่
// ArrayUtils.nullToEmpty source code
public static Object[] nullToEmpty(final Object[] array) {
if (isEmpty(array)) {
return EMPTY_OBJECT_ARRAY;
}
return array;
}
// ArrayUtils.isEmpty source code
public static boolean isEmpty(final Object[] array) {
return array == null || array.length == 0;
}
นี่คือคำตอบเดียวกับที่ @OscarRyz แต่เพื่อประโยชน์ของDRYมนต์ฉันเชื่อว่ามันเป็นที่น่าสังเกต ดูหน้าโครงการคอมมอนส์ lang นี่คือเอกสารnullToEmpty
API และแหล่งที่มา
รายการ Maven ที่จะรวมcommons-lang
ในโครงการของคุณหากยังไม่ได้ดำเนินการ
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
</dependency>
น่าเสียดายที่commons-lang
ไม่มีฟังก์ชั่นนี้สำหรับList
ประเภท ในกรณีนี้คุณจะต้องใช้วิธีการช่วยเหลือตามที่ระบุไว้ก่อนหน้านี้
public static <E> List<E> nullToEmpty(List<E> list)
{
if(list == null || list.isEmpty())
{
return Collections.emptyList();
}
return list;
}
null
ไม่เหมือนกับคอลเล็กชันที่ว่างเปล่า