1

次のシナリオでLombokがどのように使用されることになっているのか、私は完全に混乱しています:

基本クラス:

@Data
public abstract class BaseClass {

    protected final String foo;
    protected final String bar;
}

サブクラス:

@Data
public class SubClass extends BaseClass {
    private final String bazz;
}

@DataLombokは、基本クラスにデフォルトのコンストラクターが必要であるという 2 番目のクラスの注釈について不平を言っています。ただし、基本クラスのフィールドは最終的なものであるため、デフォルトのコンストラクターはすべてのフィールドを何らかの値に初期化する必要があります。これは、サブクラスのコンストラクターによって変更できないため、面倒です。

引数を持つコンストラクターを介して具体的なサブクラスを作成できるように、これらのクラスを設定する正しい方法は何ですか? 最終フィールドでビルダーを使用できますか? できるだけコードを書くことを避け、Lombok アノテーションに依存したいと思います (ただし、これが不可能な場合があることは承知しています)。

4

0 に答える 0