*目次 [#r23e0dc7]
#contents

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

**本家 [#p8facfe5]
https://projectlombok.org

*紹介ページ [#ra61fbb1]
http://qiita.com/opengl-8080/items/671ffd4bf84fe5e32557

*事前準備 [#o1e9670c]
ビルドパスに通しておく

**gradleの場合だと [#ebb0bb70]

 // https://mvnrepository.com/artifact/org.projectlombok/lombok
 compile group: 'org.projectlombok', name: 'lombok', version: '1.16.16'
を追加する。

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

*GetterSetterを省略したい [#t7b48d2a]

**やり方 [#va708ad9]
class定義の上に、@Dataをつける

なので
 import lombok.Data;
も必要になる


**例 [#c8b71cc1]
 import lombok.Data;

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

*その他の例 [#i4232aed]
**定数だけのクラスを定義したい [#q9ce73f9]
 @Value

**Getterだけのクラスを定義したい [#t7ccc2af]
 @Getter
***遅延評価とキャッシュ [#e84efa98]
 lazy

**Setterだけのクラスをつくりたい [#occfb8de]
 @Setter

**よくある、値を入れるだけのコンストラクタを [#y7c9af78]
***変更するかもしれない値の場合 [#gb0bb98d]
 @AllArgsConstructor
***変更しない値のばあい [#s640091d]
 @RequiredArgsConstructor

*イコールの定義 [#if404c8c]
@EqualsAndHashCode
があるが、イコールは、細かい指定しないと、

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

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

*委譲 (Delegate) [#h74d1283]
これは、ありがたい。っていうか、Javaの標準に入れてほしいぐらい

**サンプル [#g30f3ec2]
 public class CardList {
     @Delegate
     List<String> list = new ArrayList<String>();
 }

*複数スレッドで実行したい場合 [#df5182df]
**例 [#s58a5084]
    @Synchronized
    public void countup() {
        // 同期化された処理
    }
トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS