龙目岛不生成getter和setter?
Posted
技术标签:
【中文标题】龙目岛不生成getter和setter?【英文标题】:Lombok not generating getter and setter? 【发布时间】:2022-01-19 07:12:01 【问题描述】:第一次使用 lombok,如果我理解正确,lomboks getter 和 setter 注释会生成 setter 和 getter 方法而无需对其进行编码,但由于某种原因,每当我尝试时,我都会收到“未定义的方法”错误调用 getter/setter 方法。
这里有什么问题?
import lombok.Getter;
import lombok.Setter;
public class Student
@Getter @Setter
private String firstName;
@Getter @Setter
private String lastName;
public Student(String firstName, String lastName)
super();
this.setFirstName(firstName); // method undefined error here
this.setLastName(lastName); // method undefined error here
【问题讨论】:
你需要在类的顶部添加@Data
注解。 objectcomputing.com/resources/publications/sett/…
你的导入错误? import lombok.Getter; import lombok.Setter;
@ping.shantanu 感谢您的评论。您不只是指定类级别的数据注释吗?它没有说我必须添加数据。所有文档都说 Data 是一个注释,包括 Getter、Setter、ToString 等的所有特征。
@user7294900,对不起,我忘了在问题中添加 setter 导入。
Eclipse 的 Lombok 设置:projectlombok.org/setup/eclipse
【参考方案1】:
您的代码应该这样工作, 你的 EDI 上安装了 lombok 的插件吗?
【讨论】:
Lombok 插件实际上并没有安装在我的 IDE 中。我认为它已安装,但在导入时没有说任何错误。谢谢@Clint Magnus 和@Dan_Maff 我向朋友们道歉。【参考方案2】:Lombok 没有安装在我的 IDE 中。
安装它解决了问题。
【讨论】:
【参考方案3】:另一种简单的方法是使用@Data
注释,它为类中的每个属性生成getter 和setter。
import lombok.Data;
@Data
public class Student
private String firstName;
private String lastName;
public Student(String firstName, String lastName)
super();
this.setFirstName(firstName);
this.setLastName(lastName);
快速说明:导入某些东西不会使用它。它只是告诉程序一些可能被使用的东西。如果您使用的是现代 Java IDE(VSCode 或 IntelliJ),类、注释等将在您使用时自动导入。
【讨论】:
这没有回答问题。它只是重复使用其他注释的问题。【参考方案4】:这样试试
@Getter
@Setter
public class Student
private String firstName;
private String lastName;
public Student(String firstName, String lastName)
this.setFirstName(firstName);
this.setLastName(lastName);
【讨论】:
正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。以上是关于龙目岛不生成getter和setter?的主要内容,如果未能解决你的问题,请参考以下文章
Lombok 写一个@Data更好还是@Getter+@Setter更好?
为啥我不能将自动实现的 getter 和 setter 与 List 一起使用? (统一,C#)
IDE 不显示 Lombok 为 Jackson 注释类生成的 getter 和 setter
Kotlin类与对象 ① ( 成员属性 | Kotlin 自动为成员字段生成 getter 和 setter 方法 | 手动设置成员的 getter 和 setter 方法 | 计算属性 )