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

相关推荐
KaMeidebaby16 分钟前
卡梅德生物技术快报|抗体亲和力成熟工业化调控新机制:差异性浆细胞增殖工艺优化思路
java·开发语言·人工智能·算法·机器学习·架构·spark
luj_17681 小时前
心形曲线轨迹控制三大关键技术
c语言·开发语言·c++·经验分享·算法
Mininglamp_27181 小时前
Claude Code 封禁中国开发者之后:本地 AI 编程工具的替代方案实测
开发语言·人工智能·windows·开源软件·ai-native
思麟呀2 小时前
C++17(三)if constexpr+折叠表达式
开发语言·c++
醉城夜风~2 小时前
Java详解经典算法题:接雨水(三种实现方案+原理剖析)
java·开发语言·算法
qydz112 小时前
杰理开发基础知识(3)
开发语言·嵌入式开发·杰理科技
贾斯汀frank2 小时前
C# 15 类型系统改进:Union Types
开发语言·windows·c#
阿里嘎多学长2 小时前
2026-07-10 GitHub 热点项目精选
开发语言·程序员·github·代码托管
CHHH_HHH2 小时前
【C++11】深入解析C++可变参数模板
开发语言·c++·算法·stl·c++11
数智化转型推荐官3 小时前
2026统一身份管理系统五大发展趋势解读
java·运维·微服务