De acuerdo, definitivamente hay un pensamiento diferente, en mi mundo, no puedo imponer "Nunca pasar un nulo" porque estoy tratando con terceros incontrolables como llamadas de API, registros de bases de datos, antiguos programadores, etc., así que soy paranoico y defensivo en los enfoques . Como estás en Java8 o posterior, hay un enfoque un poco más limpio que un ifbloque.
public String foo(@Nullable String mayBeNothing) {
return Optional.ofNullable(mayBeNothing).orElse("Really Nothing");
}
También puede lanzar alguna excepción al cambiar .orElsea
orElseThrow(() -> new Exception("Dont' send a null")).
Si no desea utilizar @Nullable, que no agrega nada funcionalmente, ¿por qué no solo nombra el parámetro mayBe...para que su intención sea clara?