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

java setter 的链式调用

方法一:

setter 返回当前POJO 类型,而不是 void,然后将 this 返回

public Student setName(String name) {
    this.name = name;
    return this;
}

public Student setAge(Integer age) {
    this.age = age;
    return this;
}

public Student setScore(Integer score) {
    this.score = score;
    return this;
}

然后,在创建对象的时候,就可以进行链式调用:

Student student = new Student().setName("james").setAge(22).setScore(80);

方法二:用 Lombok 实现 setter 的链式调用

@Data
@Accessors(chain = true)
public class Student {
    private String name;
    private Integer age;
    private Integer score;
}

第一行的 @Data 注解,是一系列注解的集合,主要作用是提高代码的简洁,使用这个注解可以省去代码中大量的get()、 set()、 toString()等方法;

第二行的 @Accessors 注解,就是这里的重点了,它用来设定 Lombok 应该怎样生成 setter 和 getter 代码。而其中的 chain 属性,就是打开链式 setter 的开关,将它打开之后,就可以生成支持链式调用的 setter 方法。

相关文章:

  • [需求]需求分析能力之二:引入领域模型
  • uniapp如何动态绑定事件
  • 北京.NET俱乐部第十次活动-“使用VSTS优化软件开发生命周期”
  • VScode+ESlint 自动格式化代码(2021)
  • 项目代理工作手册II(工作流程+收益分析)——CSDN外包实践(40)
  • eslint关闭 nodef 校验
  • box-sizing失效情况
  • 多留点时间给生活和家人!
  • vue、uniapp 动态创建input进行文件上传
  • Js 三种绑定事件方式 及 区别
  • [软工] 楼上SLM 雏形具现
  • js promise resolve()的用法
  • 寻找传说中的“卡塔西斯”...
  • uniapp 页面通讯 uni.$on执行多次
  • 教材编者,请多点儿“钻研”精神
  • FineReport中如何实现自动滚屏效果
  • happypack两次报错的问题
  • JSONP原理
  • Js基础知识(四) - js运行原理与机制
  • js学习笔记
  • KMP算法及优化
  • Laravel5.4 Queues队列学习
  • Linux快速复制或删除大量小文件
  • Linux链接文件
  • maya建模与骨骼动画快速实现人工鱼
  • php ci框架整合银盛支付
  • Promise初体验
  • springMvc学习笔记(2)
  • sublime配置文件
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 从输入URL到页面加载发生了什么
  • 简单实现一个textarea自适应高度
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 新书推荐|Windows黑客编程技术详解
  • 用Canvas画一棵二叉树
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • (1)(1.13) SiK无线电高级配置(六)
  • (2015)JS ES6 必知的十个 特性
  • (6)STL算法之转换
  • (a /b)*c的值
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (南京观海微电子)——COF介绍
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (生成器)yield与(迭代器)generator
  • (一)kafka实战——kafka源码编译启动
  • (转载)(官方)UE4--图像编程----着色器开发
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .NET 使用 ILMerge 合并多个程序集,避免引入额外的依赖
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .NET大文件上传知识整理
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】