は、私は、エンティティ抑制するためにどのようにロンボク島の警告
@Builder
class MyEntity {
private Set<OtherEntitiy> children = new HashSet<>()
}
持っていると私はロンボク警告が表示されます。
警告:@Builderは初期化式を完全に無視します。初期化式をデフォルトとして使用する場合は、@ Builder.Defaultを追加します。ビルド中に設定可能ではない場合は、フィールドをファイナルにします。 Set = new HashSet <>();
質問:私はロンボクの警告をどのように抑制できますか?
また、私はNullPointerExceptionを避けたいので、子供を初期化する必要があります。また、最終的なものではないので、私はこれをファイナルとしてマークすることはできません。なぜなら、このエンティティはビルダーだけでなく、他のコンストラクタのデフォルト値を保存したいのですから、@Builder.Default
というマークを付けることはできません。
私はロンボクが常にその値を上書きすると言っていると思います。 https://github.com/rzwitserloot/lombok/issues/916私は本当にロンボクをよく知っていませんが、回避策はクラスの代わりに '@ Builder'を使ってコンストラクタをターゲットにすることです。 – Radiodef
私は警告がかなり自明であると思うし、あなたはそれを抑制しようとする代わりにメッセージの示唆に従うことによって警告を修正することを考えるべきです。 – dpr
@dprあなたは正しいです。まず、問題を解決する方法を考える必要があります。しかしこの場合、提案された決定は容認できません。私は上記の質問でそれを説明していた。 –