web-dev-qa-db-ja.com

Java Lombok:@AllArgsConstructorで1つのフィールドを省略しますか?

@ AllArgsConstructorLombokを使用して指定すると、すべての宣言された(ではなく静的ではなく最終)フィールド。一部のフィールドを省略しても、他のすべてのフィールドに生成されたコンストラクターを残すことは可能ですか?

47
user3656823

いいえ、それは不可能です。関連するフィールドのリストを指定できる@SomeArgsConstructorを作成する機能要求があります。

完全な開示:私はProject Lombokの中核開発者の1人です。

68
Roel Spilker

または、@RequiredArgsConstructorを使用できます。これにより、@NonNullまたはfinalであるすべてのフィールドのコンストラクターが追加されます。

ドキュメント を参照してください

46
dermoritz

いくつかのケースでそれを回避する良い方法は、@ Builderを使用することです

1
enkara