解决idea中@Data标签getset不起作用的问题

在解决 IDEA 中 @Data 标签 getset 不起作用的问题之前,我们先简单介绍一下 @Data 标签和 lombok 工具。

什么是 @Data 标签

@Data 是 lombok 提供的一个注解,可以替代我们手写 get、set 方法等,可以有效简化我们开发过程中的冗余代码。例如:

@Data
public class Student {
    private String name;
    private int age;
}

使用了 @Data 注解之后,lombok 会为我们自动生成以下代码:

public class Student {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public boolean equals(Object o) {
        // ...
    }

    @Override
    public int hashCode() {
        // ...
    }

    @Override
    public String toString() {
        // ...
    }
}

lombok 工具

lombok 是一个 Java 开发工具,可帮助我们消除 Java 代码中的冗余代码。例如,使用 @Data 注解可以自动生成 get、set 方法,使用 @Slf4j 注解可以自动生成日志记录器等。

IDEA 中 @Data 标签 getset 不起作用的问题

在某些情况下,我们使用 IDEA 工具的时候会发现在类中添加了 @Data 注解之后,IDEA 并没有生成对应的 get、set 方法,导致我们无法直接调用类中的属性值,这时候我们需要解决这个问题。

解决方法一

第一种解决方法是在 IDEA 的插件中安装 lombok 插件,步骤如下:

  1. 打开 IDEA 工具
  2. 菜单栏 -> File -> Setting -> Plugins
  3. 在右侧搜索栏中输入 lombok,点击 Install 安装插件即可

解决方法二

第二种解决方法是在 IDEA 中手动添加 lombok.jar 包,步骤如下:

  1. 下载对应版本的 lombok.jar 包(注意:下载的版本需要与 IDEA 工具的版本匹配),例如将 lombok-1.18.20.jar 下载到本地
  2. 在 IDEA 工具中打开项目,right-click on the project -> Modules -> Dependencies -> Add -> JARs or directories -> 找到刚才下载的 lombok.jar 包并选择 -> Apply

示例说明

以下是使用 @Data 标签的示例代码:

@Data
public class Orders {
    private String orderNumber;
    private String customerName;
    private String shipAddress;
}

以上代码会自动生成以下代码:

public class Orders {
    private String orderNumber;
    private String customerName;
    private String shipAddress;

    public String getOrderNumber() {
        return orderNumber;
    }

    public void setOrderNumber(String orderNumber) {
        this.orderNumber = orderNumber;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getShipAddress() {
        return shipAddress;
    }

    public void setShipAddress(String shipAddress) {
        this.shipAddress = shipAddress;
    }

    @Override
    public boolean equals(Object o) {
        // ...
    }

    @Override
    public int hashCode() {
        // ...
    }

    @Override
    public String toString() {
        // ...
    }
}

我们可以直接调用实例中的属性值或赋值:

Orders order = new Orders();
order.setOrderNumber("20200101");
String orderNumber = order.getOrderNumber(); // "20200101"

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:解决idea中@Data标签getset不起作用的问题 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • Spring Boot 把配置文件和日志文件放到jar外部

    Step 1:创建Spring Boot项目 首先,我们创建一个Spring Boot项目。可以使用Spring Intializr或者自行使用maven创建。这里我们使用Spring Intializr,选择下面的选项: 项目名称:spring-boot-external-config-logs 项目类型:Maven Project 依赖:Spring B…

    other 2023年6月25日
    00
  • Maya怎么打洞? maya模型打洞的三种方法

    Maya是一款常用的三维建模软件,它提供了多种方法来对模型进行切割、拼接等操作。打洞是指在模型表面创建一个圆孔或者任意形状的孔洞,可以用来模拟物体的裂口或者用于布料等模拟。下面介绍几种常用的打洞方法。 方法一:使用建模工具 1.选择要打洞的模型,进入编辑模式。2.选择鼠标右侧的切边工具,选中一个边缘进行切割。3.按住Ctrl键,选中新切割的两个边缘,右键选择…

    other 2023年6月27日
    00
  • Win10设置path环境变量的方法教程

    Win10设置path环境变量的方法教程 介绍 在Windows操作系统中,环境变量是一系列动态的值,它可以通过命令行或程序访问,可以提供各种信息,例如控制系统中程序的运行方式,也可以方便的添加/删除环境变量的值。本教程将详细讲解在Windows 10操作系统中设置”PATH”环境变量的方法。 步骤 第一步:打开系统属性 在Windows 10中,打开”系统…

    other 2023年6月27日
    00
  • Android开发中画廊视图Gallery的两种使用方法分析

    Android开发中画廊视图Gallery的两种使用方法分析 简介 在Android开发中,画廊视图(Gallery)是一种常用的UI组件,用于展示一系列图片或其他视图元素。本攻略将详细介绍Gallery的两种使用方法,并提供示例说明。 方法一:使用Gallery控件 在XML布局文件中添加Gallery控件: <Gallery android:id=…

    other 2023年8月26日
    00
  • ios学习——uialertcontroller详解

    以下是关于iOS中UIAlertController的详细攻略: 第1章:概述 UIAlertController是iOS中用于显示警告、提示和操作表的控制器。UIAlertController可以显示一个或多个按钮,以响应用户的操作。UIAlertController可以用于各种场景,如确认删除、输入密码等。 第2章:创建UIAlertController…

    other 2023年5月9日
    00
  • Android集成腾讯X5实现文档浏览功能

    Android集成腾讯X5实现文档浏览功能 步骤一:导入腾讯X5库 首先,您需要在项目的build.gradle文件中添加腾讯X5库的依赖。在dependencies块中添加以下代码: implementation ‘com.tencent.tbs.tbssdk:sdk:43959’ 步骤二:配置AndroidManifest.xml文件 在AndroidM…

    other 2023年10月14日
    00
  • JS尾递归的实现方法及代码优化技巧

    JS尾递归是指递归调用发生在函数的最后一步,不会给当前函数带来更多的操作。这种尾递归的形式可以通过优化实现自我调用,避免在递归较深时栈溢出的问题。本文将详细讲解JS尾递归的实现方法及代码优化技巧。 什么是尾递归? 通常,递归调用是指调用函数时需要在执行过程中多次嵌套地调用自己。在一个普通的递归函数中,递归调用是在“回溯”过程中进行的,需要把每次递归的结果都记…

    other 2023年6月27日
    00
  • Android贝塞尔曲线初步学习第二课 仿QQ未读消息气泡拖拽黏连效果

    Android贝塞尔曲线初步学习第二课 仿QQ未读消息气泡拖拽黏连效果攻略 简介 本攻略将详细讲解如何实现仿QQ未读消息气泡拖拽黏连效果,使用Android贝塞尔曲线进行绘制。在这个效果中,用户可以通过拖拽气泡来改变其形状,并且气泡与手指之间会有黏连效果。 步骤 步骤一:创建项目和布局 首先,创建一个新的Android项目,并在布局文件中添加一个初始的气泡视…

    other 2023年8月24日
    00
合作推广
合作推广
分享本页
返回顶部