次のようなAddress
というクラスがあります。
@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.ofNullable(this.line2);
}
// and a Builder
public static class Builder {
// builder methods
}
}
ここでは、Lombokの使用中にOptionalを返したい場合、line2
をOptional<String>
として宣言する必要があるため、Builder
とGetter
を記述する必要があります。そして、それはOptional<String>
!を受け入れるビルダーメソッドを生成します!
Optional
でlombokを使用する他の方法はありますか?
答えはノーであり、おそらく決してそうではありません。
あなたはおそらくそれを間違っているのでしょう:-) Optional
はnull
の代替ではなく、NullPointerException
を防ぐための派手な方法でもありません。質問が答えられないことを示すためです。たとえば、空の人のリストの平均年齢はいくらですか。
Optional
sは決して渡されるべきではありませんが、できるだけ早く呼び出しコードによってボックス化解除されます。
https://www.voxxed.com/blog/2015/01/embracing-void-6-refined-tricks-dealing-nulls-Java/ も参照してください
これらのシナリオはほんの一握りであり、Lombokはプログラマーがより良いコードを記述できるようにすることを好むため、Lombokでのサポートが予定されているとは思いません。
開示:私はロンボク島の開発者です。