ไม่วิธีนี้ไม่มีใน Guava และมีอยู่จริงใน "สุสานแห่งความคิด" ของเรา
เราไม่เชื่อว่า "เป็นโมฆะหรือว่างเปล่า" เป็นคำถามที่คุณอยากถามเกี่ยวกับคอลเล็กชัน
หากคอลเลกชันอาจเป็นโมฆะและควรถือเป็นโมฆะเช่นเดียวกับความว่างเปล่าให้กำจัดความคลุมเครือทั้งหมดนั้นออกไปข้างหน้าดังนี้:
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
โยนและทำให้ผู้โทรคนนั้นเป็นรูปร่างขึ้น