[解決済み] lombokを使用して既存のオブジェクトからオブジェクトを構築する
2022-03-09 16:40:15
質問
例えば、次のようなlombokアノテーションのついたクラスがあるとします。
@Builder
class Band {
String name;
String type;
}
できることは分かっている。
Band rollingStones = Band.builder().name("Rolling Stones").type("Rock Band").build();
既存のオブジェクトをテンプレートとしてFooのオブジェクトを作成し、そのプロパティの一つを変更する簡単な方法はありますか?
のようなものです。
Band nirvana = Band.builder(rollingStones).name("Nirvana");
lombokのドキュメントには、このような記述は見当たりません。
どのように解決するのですか?
を使用することができます。
toBuilder
パラメータを使用すると、インスタンスに
toBuilder()
メソッドを使用します。
@Builder(toBuilder=true)
class Foo {
int x;
...
}
Foo f0 = Foo.builder().build();
Foo f1 = f0.toBuilder().x(42).build();
から ドキュメント :
Builderを使って自分のクラスのインスタンスを生成するビルダーを生成する場合(自分の型を返さないメソッドに@Builderを追加しない限り、常にそうなる)、@Builder(toBuilder = true)を使って、toBuilder()というインスタンスメソッドを自分のクラスに生成することができます;これはこのインスタンスのすべての値から始まる新しいビルダーを作成します。
免責事項:私はlombokの開発者です。
関連
-
[解決済み] Java の substring() の時間複雑性
-
[解決済み] Oracle DB : java.sql.SQLException: 閉じた接続
-
[解決済み] 一部の入力ファイルが非推奨のAPIを使用またはオーバーライドしている
-
[解決済み] アニメーションGIFの表示
-
[解決済み] 文字列が一意な文字であるかどうかを判定する
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
-
[解決済み] IntelliJからjarを正しくビルドする方法は?
-
[解決済み】Androidで、あるアクティビティから別のアクティビティにオブジェクトを渡す方法
-
[解決済み】ロンボク島でセッター/ゲッターを1つ省略した場合
-
[解決済み】IntelliJ IDEAでLombokを使用している場合、プロジェクトをコンパイルできません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Javaで拡張子なしのファイル名を取得する方法は?
-
[解決済み] JVMフラグCMSClassUnloadingEnabledは、実際に何をするのですか?
-
[解決済み] getContentPane()は具体的に何をするのですか?
-
[解決済み] ボタンでTextFieldをクリアする(Java)
-
[解決済み] Java の substring() の時間複雑性
-
[解決済み] double 型を Int 型に変換、切り捨て
-
[解決済み] Javaにおけるシンボリック参照
-
[解決済み] アクティビティに割り当てられない
-
[解決済み] Javaでdoubleをfloatに変換する
-
[解決済み] .lengthが解決できない、またはフィールドでない