news 2026/7/14 13:39:13

@Builder.Default 未生效

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
@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()); // 输出:张三 } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/13 22:31:33

深入理解 Java 线程池:原理、应用与最佳实践

前言 在 Java 并发编程领域,线程池是一个绕不开的核心技术点。无论是高并发的互联网应用,还是后台服务系统,线程池都扮演着至关重要的角色。它不仅能够有效管理线程资源,避免线程频繁创建与销毁带来的性能开销,还能对…

作者头像 李华
网站建设 2026/7/12 14:16:10

Home Assistant OS 系统更新失败终极解决方案指南

Home Assistant OS 系统更新失败终极解决方案指南 【免费下载链接】operating-system :beginner: Home Assistant Operating System 项目地址: https://gitcode.com/gh_mirrors/op/operating-system Home Assistant Operating System(简称 HAOS)是…

作者头像 李华
网站建设 2026/7/11 21:56:03

构建工业级ReAct智能体系统:LangGraph+MCP供应链管理全栈实现!

简介 本文介绍了一个基于ReAct模式的工业级供应链管理智能体系统,采用LangGraph工作流编排和MCP工具协议。系统支持本地化部署(SQLiteOllama),提供CLI和React双界面,采用模块化设计和高性能异步处理。核心组件包括ReA…

作者头像 李华
网站建设 2026/7/13 1:57:07

微信公众号 Markdown 编辑器,让你不再为微信内容排版

在微信公众号内容创作中,排版往往成为创作者最大的痛点之一。原生编辑器功能有限,而传统排版工具又过于复杂。Markdown 作为一种轻量级标记语言,以其简洁的语法和高效的排版能力,正在成为越来越多公众号创作者的首选工具。 https:…

作者头像 李华
网站建设 2026/7/13 5:25:32

vue小程序基于Vue的高校心理咨询系统的设计和实现_qm264681

目录已开发项目效果实现截图开发技术介绍系统开发工具:核心代码参考示例1.建立用户稀疏矩阵,用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式&…

作者头像 李华