Ні, цього методу не існує в Гуаві і насправді є нашим "кладовищем ідеї".
Ми не віримо, що "недійсне або порожнє" - це питання, яке ви коли-небудь хочете задати про колекцію.
Якщо колекція може бути нульовою, і до нуля слід поводитись так само, як до порожнього, тоді виведіть всю цю неоднозначність з випередження, як це:
Set<Foo> foos = NaughtyClass.getFoos();
if (foos == null) {
foos = ImmutableSet.of();
}
або так (якщо ви хочете):
Set<Foo> foos = MoreObjects.firstNonNull(
NaughtyClass.getFoos(), ImmutableSet.<Foo>of());
Після цього можна просто використовувати .isEmpty()
як звичайний. Зробіть це негайно після виклику неслухняного API, і ви поставили дивацтво за собою, замість того, щоб продовжувати його тривати нескінченно.
І якщо "null, що справді означає порожню колекцію", не повертається вам, а передається вам, ваша робота легка: просто нехай NullPointerException
вас кинуть, і зробіть цей абонент формувати.