Không, phương pháp này không tồn tại ở Guava và thực tế là trong "nghĩa địa ý tưởng" của chúng tôi.
Chúng tôi không tin rằng "trống hay rỗng" là câu hỏi mà bạn thực sự muốn hỏi về một bộ sưu tập.
Nếu một tập hợp có thể là null và null phải được coi giống như rỗng, thì hãy loại bỏ tất cả sự mơ hồ đó ra phía trước, như sau:
Set<Foo> foos = NaughtyClass.getFoos();
if (foos == null) {
foos = ImmutableSet.of();
}
hoặc như thế này (nếu bạn thích):
Set<Foo> foos = MoreObjects.firstNonNull(
NaughtyClass.getFoos(), ImmutableSet.<Foo>of());
Sau đó, bạn có thể sử dụng .isEmpty()
như bình thường. Làm điều này ngay lập tức khi gọi API nghịch ngợm và bạn đã đặt sự kỳ lạ sau lưng mình, thay vì để nó tiếp tục vô thời hạn.
Và nếu "null thực sự có nghĩa là bộ sưu tập trống" không được trả lại cho bạn mà được chuyển cho bạn, công việc của bạn rất dễ dàng: chỉ cần NullPointerException
ném một lệnh và làm cho người gọi đó định hình.