- 追加された行はこの色です。
- 削除された行はこの色です。
*目次 [#r23e0dc7]
#contents
*Lombok [#fc0bde6a]
Lombokとは、Javaのコードの省略記法ライブラリ
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() {
// 同期化された処理
}