有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使lombok注释真正适用于getter和setter

我正在尝试使用lombok getter和setter注释。 据我所知,带注释的代码是在运行时生成的,而不是在编译时生成的,那么如何利用自动生成的getter和setter来编写代码呢

例如,我有一个这样的班

@lombok.Getters
@lombok.Setters
public class MyLombokTesting {

private String userName;

}

但是,如果在编写代码时没有生成这些注释,那么这些注释又有什么用处呢

现在我想做这样的事情

MyLombokTesting myLombokTesting = new MyLombokTesting();
String username = myLombokTesting.getUserName();
or myLombokTesting.setUserName("some username");

但是我不能做这些,因为在编写代码时,eclipse中没有为我生成setter和getter

显然,我可以用一个单参数构造函数来设置用户名,但是getter呢


共 (3) 个答案

  1. # 1 楼答案

    首先,Lombok确实运行编译时来动态更改生成的类文件

    可能,在Eclipse中没有正确安装lombok。请参阅this answer关于Eclipse中lombok安装问题

    此外,注释的运行时处理并不是它们的唯一用途。Java5已经附带了注释处理工具apt,因为Java6注释可以由标准编译器(javac)处理。注释可以生成类文件、源文件或其他资源文件

    披露:我是Project Lombok开发者之一

  2. # 2 楼答案

    我使用EclipseIDE。在pom中添加lombok库之前,我必须在我的计算机中安装lombok。xml

    第1步: -在https://projectlombok.org/download下载lombok -运行命令java-jar enter image description here -重新启动IDE -完成

    第二步: -在pom中添加龙眼。xml文件

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.8</version>
        <scope>provided</scope>
    </dependency>
    
    • 在代码中调用getter/setter enter image description here
  3. # 3 楼答案

    确保在添加Lombok JAR和插件后重新启动Eclipse/Intellij或您正在使用的任何IDE