【Java】lombokで自動生成されるsetter(getter)を上書きする
例えば、特定のプロパティのみ、自分で書いたsetterを使いたいときとか
やることは
- ただ単に
setXxx()
を作ればいいだけ
だった
以下、サンプルコード
サンプル
People.java
以下のようなPeople
クラスを作成する
package sample; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @NoArgsConstructor @AllArgsConstructor public class People { private String name; private int age; // @Dataで自動生成されるsetAge()を上書きする public void setAge(int age) { this.age = age + 100; } }
@Data
: すべてのプロパティに対してsetXxx()
とgetXxx()
を生成@NoArgsConstructor
: 引数なしのコンストラクタを生成@AllArgsConstructor
: 全プロパティを引数に取るコンストラクタを生成
App.java
package sample; /** * Hello world! * */ public class App { public static void main( String[] args ) { System.out.println( "Hello World!" ); People people = new People("Taro", 11); // 自分で定義したsetAge()が呼ばれる people.setAge(20); System.out.println(people); // People(name=Taro, age=120) } }
おぉ、しっかりと100足されている!