Lombok

Lombokとは、Javaのコードの省略記法をIDEに提供する

事前準備

ビルドパスに通しておく

gradleの場合だと

// https://mvnrepository.com/artifact/org.projectlombok/lombok
compile group: 'org.projectlombok', name: 'lombok', version: '1.16.16'

を追加する。

バージョンは、Repositoryサイトで新しいのを取ってくること

GetterSetter?を省略したい

やり方

class定義の上に、@Dataをつける

なので

import lombok.Data;

も必要になる

import lombok.Data;
@Data
public class Member {
    private String id;
    private String name;
}

その他の例

定数だけのクラスを定義したい

@Value

Getterだけのクラスを定義したい

@Getter

遅延評価とキャッシュ

lazy

Setterだけのクラスをつくりたい

@Setter

よくある、値を入れるだけのコンストラクタを

変更するかもしれない値の場合

@AllArgsConstructor

変更しない値のばあい

@RequiredArgsConstructor

イコールの定義

@EqualsAndHashCode? があるが、イコールは、細かい指定しないと、

デバッグたいへんだろうから、

中身が明示的のほうがうれしいかも。

委譲 (Delegate)

これは、ありがたい。っていうか、Javaの標準に入れてほしいぐらい

サンプル

public class CardList {
    @Delegate
    List<String> list = new ArrayList<String>();
}

複数スレッドで実行したい場合

   @Synchronized
   public void countup() {
       // 同期化された処理
   }
トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS