Memang, ada pemikiran yang sangat berbeda, di dunia saya, saya tidak bisa memaksakan "Never pass a null" karena saya berurusan dengan pihak ketiga yang tidak terkendali seperti penelepon API, catatan database, mantan programmer dll ... jadi saya paranoid dan defensif dalam pendekatan . Karena Anda menggunakan Java8 atau lebih baru, ada pendekatan yang sedikit lebih bersih daripada if
blok.
public String foo(@Nullable String mayBeNothing) {
return Optional.ofNullable(mayBeNothing).orElse("Really Nothing");
}
Anda juga dapat melempar beberapa pengecualian di sana dengan bertukar .orElse
ke
orElseThrow(() -> new Exception("Dont' send a null"))
.
Jika Anda tidak ingin menggunakan @Nullable, yang tidak menambahkan apa-apa secara fungsional, mengapa tidak hanya memberi nama parameter dengan mayBe...
begitu niat Anda jelas.