Java 8 Дополнительно обнаружение пустой коллекции - PullRequest
0 голосов
/ 28 апреля 2020

Использование Java Необязательно:

List<String> myList = ....

Optional.ofNullable(myList)
   .ifPresentOrElse(.. do something.., ()-> log.error("missing list"));

Я хочу поймать в журналах, когда список пуст или пуст. Вышесказанное прекрасно работает для null. Как его можно расширить, чтобы ловить пустые коллекции?

Ответы [ 2 ]

2 голосов
/ 28 апреля 2020

Я думаю, что переход с if()else{} более читабелен. Вы можете сделать так:

Optional.ofNullable(myList == null || myList.isEmpty() ? null: myList)
       .ifPresentOrElse(.. do something.., ()-> log.error("missing list"));
2 голосов
/ 28 апреля 2020

, если вы действительно хотите усложнить ситуацию, используя Optional -

Optional.ofNullable(myList).filter(l -> !l.isEmpty())
   .ifPresentOrElse(.. do something.., ()-> log.error("missing list"));

, лучше бы использовать if-else -

if(myList !=null && !myList.isEmpty()) {
      // do something
} else {
    log.error("missing list");
}

для дальнейшего улучшения - убедитесь, что List не присваивается значение null.

...