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

2020-09-16 09:27:15 +08:00
 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;
    }

    ...
}

请问这是什么原因?

2737 次点击
所在节点    程序员
21 条回复
0x663
2020-09-16 09:55:46 +08:00
0x663
2020-09-16 09:57:29 +08:00
左转 issues
li517316684
2020-09-16 09:57:44 +08:00
没导对包吧
hejawy
2020-09-16 10:01:10 +08:00
为啥要这么命名?没事找事?
persona5
2020-09-16 10:07:58 +08:00
@li517316684 导包正确,不是 import 错误的问题


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

没注意过
flowercoder
2020-09-16 13:16:16 +08:00
早就吃过 lombok 大小写的亏了
getset 用插件生成一下难道不香吗?
要么就全小写避免呗。
Jooooooooo
2020-09-16 14:36:18 +08:00
(又一个不要用 lombok 的例子

你用 idea 的自动生成 get set, 不会有问题
shuqin2333
2020-09-16 16:25:16 +08:00
吃过类似的亏
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