[解決済み] Lombokの各種コンストラクターにアノテーション?
2022-02-18 21:38:49
質問
クラスがあります
public class Answer<T> {
private T data;
public Answer(T data) {
this.data = data;
}
public Answer() {
}
public T getData() {
return data;
}
public Answer<T> setData(T data) {
this.data = data;
return this;
}
}
で簡略化したいのですが
Lombok
.
アノテーションを追加すると
@AllArgsConstructor
デフォルトのコンストラクタが表示されません。
@Data
@AllArgsConstructor
public class Answer<T> {
private T data;
public Answer<T> setData(T data) {
this.data = data;
return this;
}
}
の中に両方のコンストラクタを持つことは可能ですか?
Lombok
?
解決方法は?
あなたのクラスは同等です。
@Accessors(chain = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Answer<T> {
private T data;
}
厳密には、これは
toString
,
equals
と
hashCode
メソッドを
すべて
変数を使用します。 これは無限ループを引き起こす可能性があります(そしてしばしばそうなります)。また
@Data
.
@Accessors(chain = true)
は
setter
の実装は
this
詳細はこちら
こちら
.
コンストラクタのアノテーションを複数追加することができます。
他の多くの lombok アノテーションとは異なり、明示的なコンストラクタが存在しても、これらのアノテーションが独自のコンストラクタを生成することを止めることはできません。
なお
@Accessors
は実験的なものなので、将来のある時点で変更されたり、名前が変わったりする可能性があります。
私は
@Builder
から
@AllArgsConstructor
のみを許可しているため
必須
引数をすべて指定するコンストラクタは、all or nothing です。また、より読みやすいコードが生成されます。
new Thing(true, 1, 4, false, 4, 4.0)
対談
new Thing.Builder().
setANamnedProperty(true).
setAnotherNamnedProperty(1).
....
build();
関連
-
[解決済み】Android Studio クラス org.codehaus.groovy.runtime.InvokerHelper を初期化できませんでした。
-
[解決済み】宣言されたパッケージが期待されるパッケージと一致しない ""
-
[解決済み】 java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver [重複]。
-
[解決済み】破損したjarファイル
-
[解決済み] StringBuilderをクリアまたは空にするにはどうすればよいですか?重複] [重複] [重複] [重複] [重複] [重複
-
[解決済み】intがnullであるかどうかを確認する方法
-
[解決済み】javaで無効な文字定数
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] OutputStreamを文字列に変換する
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
最新
-
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 のクラス内のコンストラクタは、指定された型に適用できない
-
[解決済み】"比較メソッドはその一般契約に違反する!"
-
[解決済み】Java JDK - doubleからintへの非可逆変換の可能性
-
[解決済み】「error: '.class' expected」の意味と修正方法について
-
[解決済み】JLabelのテキストを中央に配置するには?
-
[解決済み】Javaを使用するSelenium - ドライバの実行ファイルのパスは、webdriver.gecko.driverシステムプロパティで設定する必要があります。
-
[解決済み】Java Error "Exception in thread "main" java.util.InputMismatchException" Array プログラムで発生。
-
[解決済み] JavaでSSLピアが正しくシャットダウンされない
-
[解決済み】予期しない型エラー
-
[解決済み】フォルダに書き込もうとすると「java.nio.file.AccessDeniedException」が発生する件