環境
- Eclipse Pleiades 4.7.2(Build id: 20171218-0600)
- Java8(1.8.0_152)
- lombok 1.6.20(プロジェクトに取り込んだlombokとEclipseにインストールしたlombokは同じバージョン)
背景
lombokを利用する前はEclipseのgetter/setter生成機能を使っていました。
この状態からlombokに移行する際、rPoint
のようなフィールドに対応するメソッドでハマりました。
rPoint
のようにキャメルケースの区切りが1文字の場合、lombokとEclipseでメソッド名が異なる
フィールドsPoint
に対して、EclipseはgetsPoint()
というメソッドを作成します。
プレフィックスget
の次の文字が小文字です。
TwoCharacter.java
/* Eclipseの機能で生成したgetterも追加 */
public class TwoCharacter {
private String sPoint = "sPoint";
public String getsPoint() {
return sPoint;
}
}
一方lombokは、getSPoint()
というメソッドを生成します。
プレフィックスget
の次の文字が大文字です。
TwoCharacter.java
@Getter
public class TwoCharacter {
private String sPoint = "sPoint";
public void print() {
System.out.println(getSPoint());
}
}
まとめ
キャメルケースの区切りが1文字の場合は、注意が必要!