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 ifblok.
public String foo(@Nullable String mayBeNothing) {
return Optional.ofNullable(mayBeNothing).orElse("Really Nothing");
}
Anda juga dapat melempar beberapa pengecualian di sana dengan bertukar .orElseke
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.