当前位置: 首页 > news >正文

@Builder.Default 未生效

一、问题代码

import lombok.Builder; import lombok.Data; @Data @Builder public class User { private String name = "未知用户"; private Integer age; public static void main(String[] args) { // 通过Builder创建对象,未指定name User user = User.builder().age(28).build(); System.out.println(user.getName()); // 输出:null(预期:未知用户) } }

二、根源分析:@Builder.Default 的作用机制

要解决生效问题,需先明确@Builder.Default的核心设计逻辑:
@Builder的本质:Lombok 的@Builder会为实体类生成一个内部Builder类,通过Builder的setter方法赋值属性,最终调用build()方法创建目标对象。
若仅在属性上直接赋值,该赋值逻辑仅在通过new User()创建对象时生效,不会自动同步到 Builder 类中。

三、解决方案:正确使用 @Builder.Default

import lombok.Builder; import lombok.Data; @Data @Builder public class User { // 正确用法:@Builder.Default直接标注在属性上,赋值语句紧跟 @Builder.Default private String name = "未知用户"; // 该默认值会同步到Builder private Integer age; public static void main(String[] args) { User user = User.builder().age(28).build(); System.out.println(user.getName()); // 输出:未知用户(生效!) // 显式设置name时,会覆盖默认值 User user2 = User.builder().name("张三").age(30).build(); System.out.println(user2.getName()); // 输出:张三 } }
http://www.cnnetsun.cn/news/106315.html

相关文章:

  • 深入理解 Java 线程池:原理、应用与最佳实践
  • Home Assistant OS 系统更新失败终极解决方案指南
  • 构建工业级ReAct智能体系统:LangGraph+MCP供应链管理全栈实现!
  • 多向量搜索技术ColBERT揭秘:提升RAG召回相关性,细粒度信息优化搜索效果!
  • 微信公众号 Markdown 编辑器,让你不再为微信内容排版
  • vue小程序基于Vue的高校心理咨询系统的设计和实现_qm264681
  • Winlator终极指南:手机运行Windows应用权限管理与性能优化完整教程
  • 10分钟极速搭建:transfer.sh私有文件分享系统全攻略
  • VR青少年法律知识学习系统|VR隔空 “解锁” 法律密码
  • coze工作流成品导入一键生成AI漫剧智能体搭建
  • 复杂工业场景如何实现3D实例与部件一体化分割?多视角贝叶斯融合的分层图像引导框
  • 【企业级Docker更新实战指南】:Agent服务无缝升级的5大黄金步骤
  • PLC通讯编程系列之一,为什么复位发送请求信号要在发送块的前面?
  • (VSCode Qiskit配置验证全流程)新手避坑指南——专家级配置实践
  • 【量子编程必备技能】:如何让VSCode完美支持Qiskit代码智能提示?
  • IDEA配置
  • Q#-Python混合调试实战指南(量子编程调试稀缺技术曝光)
  • 2026数字经济定调:数据要素成核心引擎,可信数据空间建设引行业升级
  • Vue Query Builder 终极指南:从零开始构建复杂查询界面 [特殊字符]
  • Qwen3模型推理性能优化:从思考模式到高效输出的完整指南
  • 瞄准网络安全人才缺口:大学生的机遇与成长路径
  • AI模型智能评估平台:从数据迷雾到精准决策的跨越
  • Subfinder终极指南:全面解决所有字幕下载难题
  • “负碳航空”的流行,是工业文明的一场“赎罪”与“自救”。
  • 企业数据中台建设终极指南:3步搞定数据治理难题
  • 告别繁琐!这款Mac免费Gif工具让你3步搞定屏幕录制
  • 宏智树AIPPT,用AI把学术表达变成一场轻松对话
  • 如何快速构建Python GUI界面?这款可视化设计工具让你告别手写代码
  • CMT8021N0L 双通道数字隔离器华普微电子(HOPERF)原厂正品IC芯片解析!
  • 无水印自由!Pollinations 开源 AI 生图工具,免费生成超香