使用 lombok 时,两个字段(testName、testname)只生成了一组 getter/setter

2020 年 9 月 16 日
 persona5

TestEntity.java

@NoArgsConstructor
@Data
public class TestEntity {

    private String testName;
    private String testname;
}

TestEntity.class

public class TestEntity {
    private String testName;
    private String testname;

    public TestEntity() {
    }

    public String getTestName() {
        return this.testName;
    }

    public void setTestName(final String testName) {
        this.testName = testName;
    }

    ...
}

请问这是什么原因?

3569 次点击
所在节点    程序员
21 条回复
0x663
2020 年 9 月 16 日
0x663
2020 年 9 月 16 日
左转 issues
li517316684
2020 年 9 月 16 日
没导对包吧
hejawy
2020 年 9 月 16 日
为啥要这么命名?没事找事?
persona5
2020 年 9 月 16 日
@li517316684 导包正确,不是 import 错误的问题


@hejawy 不是我写的,旧项目要修改,拿出来编译的时候发现的
dovme
2020 年 9 月 16 日
你这么命名真的会被人打死的
Kilerd
2020 年 9 月 16 日
项目上用 lombok 1.18.12 没有出现这个问题,可以正常提示。 请贴出你的 lombok 版本。
Qlccks2
2020 年 9 月 16 日
看来你自己知道命名有问题了
persona5
2020 年 9 月 16 日
@Kilerd lombok 版本相同,JDK 11, IDEA 2020.2.1, 最新版本插件
hejawy
2020 年 9 月 16 日
@persona5 重构它!
persona5
2020 年 9 月 16 日
@Kilerd 是的,IDE 中可以正常提示,但是不能通过编译。
talen666
2020 年 9 月 16 日
会不会 testname 没有用到。。
Jrue0011
2020 年 9 月 16 日
用 delombok 看看生成的代码
serical
2020 年 9 月 16 日
persona5
2020 年 9 月 16 日
@serical 感谢
22k
2020 年 9 月 16 日
是不是驼峰名字然后认为了一个字段
graffitist
2020 年 9 月 16 日
按道理来说,就算你命名成这个样子
也会有两个吧?
getTestName
getTestname

没注意过
flowercoder
2020 年 9 月 16 日
早就吃过 lombok 大小写的亏了
getset 用插件生成一下难道不香吗?
要么就全小写避免呗。
Jooooooooo
2020 年 9 月 16 日
(又一个不要用 lombok 的例子

你用 idea 的自动生成 get set, 不会有问题
shuqin2333
2020 年 9 月 16 日
吃过类似的亏
aName
生成的 get set 是 getAName 和 setAName
手动用 idea 生成的是 getaName 和 setaName,lombok 生成的 get set 反射会有问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/707421

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX