Use ArrayUtils.nullToEmpty
da commons-lang
biblioteca para matrizes
for( Object o : ArrayUtils.nullToEmpty(list) ) {
// do whatever
}
Essa funcionalidade existe na commons-lang
biblioteca, incluída na maioria dos projetos 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;
}
É o mesmo que a resposta dada por @OscarRyz, mas, pelo bem do mantra DRY , acredito que vale a pena notar. Veja a página do projeto commons-lang . Aqui está a documentação e a fonte da nullToEmpty
API
Entrada do Maven para incluir commons-lang
no seu projeto, se ainda não estiver.
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
</dependency>
Infelizmente, commons-lang
não fornece essa funcionalidade para List
tipos. Nesse caso, você precisaria usar um método auxiliar, como mencionado anteriormente.
public static <E> List<E> nullToEmpty(List<E> list)
{
if(list == null || list.isEmpty())
{
return Collections.emptyList();
}
return list;
}
null
não é o mesmo que uma coleção vazia.