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字段正常,使用时要注意。

相关推荐
长征coder12 小时前
【无标题】
java·性能优化
matlab代码12 小时前
基于matlab数字图像处理的指纹识别系统【源码68期】
开发语言·matlab
新时代牛马12 小时前
PCI与PCIe 硬件原理、配置空间/BAR 与 Linux 驱动完整篇:从 LTSSM、TLP 到 ECAM 与probe
java·linux·服务器
Bs_MoneyMagnet12 小时前
基于springboot+vue的医疗健康便民服务平台的设计与实现 源码+文档
java·vue.js·spring boot·后端·spring
matlab代码12 小时前
基于matlab的水果识别系统(苹果香蕉菠萝梨桃子)【源码65期】
开发语言·matlab
wuyk55513 小时前
从零吃透 MQTT 通信|第 8 章 FreeRTOS 多任务架构下 MQTT 工程架构,任务拆分、队列解耦、临界区保护
c语言·开发语言·stm32·学习·架构
weixin1997010801613 小时前
[特殊字符]《跨境二手ERP对接Back Market:标准化API + 7~10工作日技术合规审核实录》(附Python源码)
开发语言·python·pandas
sunshine22 girl13 小时前
Java学习一 环境配置2 Idea的入门使用和maven配置,项目启动脚本配置
java·maven
尘客-追梦13 小时前
Day 01:插件化之前,先看清 ABI 这堵墙
开发语言·c++·qt
持敬chijing14 小时前
Python-数据类型-列表
开发语言·python·青少年编程