ได้รับมีความคิดที่แตกต่างกันอย่างแน่นอนในโลกของฉันฉันไม่สามารถบังคับใช้ "ไม่ผ่านเป็นโมฆะ" เพราะฉันกำลังจัดการกับบุคคลที่สามที่ไม่สามารถควบคุมได้เช่นผู้โทร API บันทึกฐานข้อมูลอดีตโปรแกรมเมอร์ ฯลฯ ... ดังนั้นฉันจึงหวาดระแวง . เนื่องจากคุณอยู่บน Java8 หรือใหม่กว่าจึงมีวิธีการที่ค่อนข้างสะอาดกว่าif
บล็อก
public String foo(@Nullable String mayBeNothing) {
return Optional.ofNullable(mayBeNothing).orElse("Really Nothing");
}
นอกจากนี้คุณยังสามารถโยนข้อยกเว้นบางอย่างในการมีโดยการเปลี่ยนไป.orElse
orElseThrow(() -> new Exception("Dont' send a null"))
หากคุณไม่ต้องการใช้ @Nullable ซึ่งไม่เพิ่มการทำงานใด ๆ ทำไมไม่เพียงแค่ตั้งชื่อพารามิเตอร์ด้วยmayBe...
เพื่อให้ความตั้งใจของคุณชัดเจน