環境
- Eclipse Pleiades 4.7.2(Build id: 20171218-0600)
- Java8(1.8.0_152)
- lombok 1.6.20(プロジェクトに取り込んだlombokとEclipseにインストールしたlombokは同じバージョン)
問題
lombokで生成されるGetterの名前を確認しています。
フィールドab
、aB
が存在する場合
以下のクラスを作成すると、「メソッド getAB() は型 FirstLowerCase で未定義です」というエラーが出ました。
java
1@Getter //lombok annotation 2public class FirstLowerCase { 3 4 /** 2文字目が小文字 */ 5 private String ab = "ab"; 6 7 /** 2文字目が大文字 */ 8 private String aB = "aB"; 9 10 public List<String> createFieldList() { 11 List<String> list = new ArrayList<>(); 12 list.add(getAb()); 13 list.add(getAB()); //「メソッド getAB() は型 FirstLowerCase で未定義です」というエラーが出る 14 return list; 15 } 16}
フィールドaB
のみが存在する場合
フィールドab
を削除すると、先ほど未定義と言われたgetAB
が定義され、使えるようになりました。
java
1@Getter 2public class FirstLowerCase { 3 4 /** 2文字目が大文字 */ 5 private String aB = "aB"; 6 7 public List<String> createFieldList() { 8 List<String> list = new ArrayList<>(); 9 list.add(getAB()); //問題なし 10 return list; 11 } 12} 13
質問
この現象は、一体何が起こっているのでしょうか?
また、この現象をlombokのソースコードで調査する場合、どのクラスを確認すればよろしいでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/30 04:25