开发技术-Java实体类链式赋值简单示例
创始人
2025-05-29 22:14:57
0

文章目录

  • 1. 普通的赋值方式
  • 2. 使用 @Builder
  • 3. 使用@Accessors

1. 普通的赋值方式

这是个非常普通的实体类

public class User {private String name;private int age;private String sex;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}
}

常规的赋值方式为:

public class TestL {public static void main(String[] args) {User user = new User();user.setName("a");user.setAge(10);user.setSex("男");}
}

当实体类的字段非常多时,就会产生大量的类似代码。

省力一点,可以使用插件 GenerateAllSetter 一键生成。
在这里插入图片描述

开发技术-常用idea插件推荐,助力开发

当然还是有些麻烦的。

2. 使用 @Builder

@Builder 是 lombok 的注解,需要加在实体类上

import lombok.Builder;@Builder
public class User2 {private String name;private int age;private String sex;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}
}

使用方式为:

public class TestL {public static void main(String[] args) {// PS:类名.builder().属性赋值.build()返回对象User user = User.builder().name("b").age(12).sex("女").build();}
}

3. 使用@Accessors

@Accessors 也是 lombok 的注解,有位大佬写的很详细:@Accessors 注解详解

该注解也是在实体类上使用:

import lombok.Data;
import lombok.experimental.Accessors;@Data
@Accessors(chain = true)
public class User {// PS:这时候不能使用自己生成的 getter setter,得使用 lombok 注解生成private String name;private int age;private String sex;
}

使用方式为:

public class TestL {public static void main(String[] args) {User user = new User();user.setName("c").setAge(15).setSex("男");}
}

从代码就可以看出,链式编程代码简洁、可读性强,不过听说不好调试,第一次用,我去试试。
在这里插入图片描述
(图源网络,侵删)

相关内容

热门资讯

首发丨央企资本下场,这家“物理... 当“物理AI”被推向聚光灯下后,资本正加速涌入。今日,投中网获悉,“物理AI”黑马——深度机智再获数...
“保险巨头”中国人寿吃独食,豪... 来源:密探财经(ID:Spy Finance)这两天,北京土拍市场可谓“波诡云谲”。昨日(6月24日...
248亿特殊资产挂牌,中原银行... 文|林尔 来源/商讯杂志一家省级城商行把将近250亿的资产包摆上产权交易所公开招商,这在市场上并不多...
独家丨估值110亿美元,最火华... 先开个脑洞,假设有机会带着100万美元穿越回2015年,你会做出如下哪个选择:A.买房;B.炒股;C...
元璟资本王琦:做投资最重要的能... 一个项目值不值得投,不取决于它今天是什么,而取决于它未来会变成什么。《中国企业家》记者 邓双琳编辑|...
阿里巴巴、腾讯、百度、美团,集... 6月26日,港股低开,恒生指数跌0.54%,恒生科技指数跌0.78%。 权重科网股继续下挫,阿里巴...
红杉中国200亿元并购意大利“... 意大利奢侈运动鞋制造商Golden Goose黄金鹅正式迎来全新资本格局,私募股权投资公司HongS...
出海卖手工具的巨星科技,缘何斥... 6月21日晚间,跨境工具制造龙头巨星科技(002444.SZ)发布对外投资公告,公司计划使用自有资金...
沪深京三市成交额超1.5万亿元... 5月22日消息,沪深京三市成交额超1.5万亿元,较上日此时缩量2418亿元,预计全天成交金额约3.0...
韩国据悉将把芯片业所产超额税收... 5月22日消息,据报道,韩国政府计划将芯片产业超级热潮带来的超额税收收入的一部分拨给将于下半年推出的...