Java中lombok的@Data注解【布尔类型】字段定义方式

文章目录

背景

在@Data注解的bean中添加Boolean字段时,set方法正常,get方法无法获取。

第一步、场景复现

在OrderInfo的实体中,新增布尔类型的字段:支付过【hasPaid】

java 复制代码
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @auth vip
 * @Date 2025/1/14 21:34
 **/
@Data
public class OrderInfo implements Serializable {
    /**
     * 订单号
     */
    private String orderNo;
    /**
     * 订单数量
     */
    private int orderNum;
    /**
     * 订单金额-分
     */
    private Long orderAmountL;
    /**
     * 订单金额-元
     */
    private BigDecimal orderAmountB;
    /**
     * 支付金额-元
     */
    private Double payAmount;
    /**
     * 支付过
     */
    private boolean hasPaid;
}

直接使用get方法,无法取到hasPaid字段,如下图所示。

第二步、分析问题

查询OrderInfo生成的结构,可以发现基本类型boolean下自动生成的get方法,默认是is开头的,即ishasPaid,如下图所示。

若要取值,则只需要使用 isHasPaid 的方式获取,如下图所示。

第三步、实现方案

若想要使用get方法获取,则使用布尔的包装类Boolean来定义字段,如下图所示。

java 复制代码
 /**
  * 支付过
  */
 private Boolean hasPaid;

在OrderInfo生成的结构如下所示,即 getHasPaid。

使用时,直接使用get方法即可,实现效果如下图所示。

总结

1、对于 Boolean 布尔类型的包装类型

来声明的字段,有get和set方法,推荐使用。

2、对于 boolean 布尔基本类型

来声明的字段,get方法是默认加is,set字段正常,使用时要注意。

相关推荐
剑走偏锋o.O27 分钟前
Jedis学习笔记
java·redis·笔记·学习·jedis
顽疲29 分钟前
uniapp 小红书源码 后台java springboot
java·spring boot·uni-app
用针戳左手中指指头29 分钟前
Netty笔记3:NIO编程
java·nio
Craaaayon33 分钟前
Docker基础-自定义镜像与容器网络
java·运维·网络·数据库·后端·docker·容器
weixin_3077791338 分钟前
Python使用SFTP批量上传和下载一个目录下的所有文件
服务器·开发语言·python
南棱笑笑生1 小时前
20250304在飞凌OK3588-C的linux R4下提高温度控制阈值为95度
java·linux·算法
幸运小圣1 小时前
模板字符串【ES6】
开发语言·javascript·es6
Yuanymoon1 小时前
【由技及道】模块化架构设计的量子纠缠态破解指南【人工智障AI2077的开发日志004】
java·devops·spirng
述雾学java1 小时前
多线程的使用、同步和异步、synchronized、线程安全的单例模式、死锁、解决死锁
java·python·单例模式
多多*1 小时前
谈谈单例模式中通过Htools包的SpringUtil.getBean获取Bean的好处
java·开发语言·windows·单例模式·面试·log4j