Lombok 不生成 getter 和 setter?

问题描述 投票:0回答:6

第一次使用 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
    }
}
java spring-boot maven lombok
6个回答
3
投票

你的代码应该像这样工作, 你的 EDI 上安装了 lombok 的插件吗?


2
投票

Lombok 未安装在我的 IDE 中。

安装它解决了问题。


0
投票

另一种简单的方法是使用

@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),类、注释等将在您使用时自动导入。


0
投票

|*> @Data 从 Lombok 开始工作

|+> 在顶部栏中单击“项目”

|+> 单击“属性”

|+> 在左侧菜单栏中 -> 转到“Maven”

|+> 选择“注释处理”

|+> [O] 选中“启用项目特定设置”

|+> 点击“应用”


0
投票


-1
投票

@Getter @Setter public class Student { private String firstName; private String lastName; public Student(String firstName, String lastName) { this.setFirstName(firstName); this.setLastName(lastName); } }

© www.soinside.com 2019 - 2024. All rights reserved.