java optional lombok

java - Opcional en Lombok



optional (1)

Tengo una clase llamada Address que se parece a esto:

@Value class Address { @NotNull String userId; @NotNull String line1; String line2; private Address(Builder b) { // copy everything from builder } // override getter for line2 so that it returns Optional<String> public Optional<String> getLine2() { return Optional.fromNullable(this.line2); } // and a Builder public static class Builder { // builder methods } }

Aquí me veo obligado a escribir Builder y a Getter porque, si deseo devolver un Opcional mientras uso Lombok, tendré que declarar line2 como Optional<String> . ¡Y eso generará un método de construcción que acepta Optional<String> !

¿Hay alguna otra manera de usar lombok con Optional ?


La respuesta es no, y probablemente nunca lo hará.

Probablemente lo esté haciendo mal :-) Optional no es un reemplazo para null ni una forma elegante de evitar NullPointerException . Es para indicar que la pregunta no tiene respuesta, como: ¿cuál es la edad promedio de una lista vacía de personas?

Optional opciones Optional nunca deben pasarse, pero sin el código de llamada tan pronto como sea posible.

Consulte también https://www.voxxed.com/blog/2015/01/embracing-void-6-refined-tricks-dealing-nulls-java/

Dado que estos escenarios son solo unos pocos, y a Lombok le gusta permitir que los programadores escriban mejor código, no espero que haya soporte para eso en Lombok.

Divulgación: Soy un desarrollador de Lombok.