网易首页 > 网易号 > 正文 申请入驻

面试官问:如何快速实现不同Object对象中相同属性赋值?

0
分享至

日喀则市 · 雅鲁藏布江

1、使用org.springframework.beans.BeanUtils.copyProperties方法进行对象之间属性的赋值,避免通过get、set方法一个一个属性的赋值


* 对象属性拷贝

* 将源对象的属性拷贝到目标对象
*
* @param source 源对象
* @param target 目标对象
*/
public static void copyProperties(Object source, Object target) {
try {
BeanUtils.copyProperties(source, target);
} catch (BeansException e) {
LOGGER.error("BeanUtil property copy failed :BeansException", e);
} catch (Exception e) {
LOGGER.error("BeanUtil property copy failed:Exception", e);
}
}

2、List集合之间的对象属性赋值


* @param input 输入集合
* @param clzz 输出集合类型
* @param 输入集合类型
* @param 输出集合类型
* @return 返回集合
public static List convertList2List(List input, Class clzz) {
List output = Lists.newArrayList();
if (CollectionUtils.isNotEmpty(input)) {
for (E source : input) {
T target = BeanUtils.instantiate(clzz);
BeanUtil.copyProperties(source, target);
output.add(target);

return output;

比如有两个类,User和Employee,将存储Employee对象的List赋给存储User对象的List。,3000+ 道面试题在线刷,最新、最全 Java 面试题!

User类:

public class User {
private String name;
private Integer age;

public String getName() {
return name;
}

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

public Integer getAge() {
return age;
}

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

@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}

Employee类:

public class Employee {
private String name;

private Integer age;
private String dept;

public Employee(String name, Integer age, String dept) {
this.name = name;
this.age = age;
this.dept = dept;
}

public String getName() {
return name;
}

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

public Integer getAge() {
return age;
}

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

public String getDept() {
return dept;
}

public void setDept(String dept) {
this.dept = dept;
}

@Override
public String toString() {
return "Employee{" +
"name='" + name + '\'' +
", age=" + age +
", dept='" + dept + '\'' +
'}';
}
}

测试类:

@RunWith(PowerMockRunner.class)
public class TestUtil
@Test
public void test(){
Employee ee1=new Employee("A",21,"it");
Employee ee2=new Employee("B",23,"account");
User user=new User();
BeanUtil.copyProperties(ee1, user);
System.out.println(user);
System.out.println("-------------分割线--------------");
List output=new ArrayList<>();
List source= Arrays.asList(ee1,ee2);
output=BeanUtil.convertList2List(source,User.class);
for (User str:output) {
System.out.println(str);

作者:Terisadeng blog.csdn.net/dongyuxu342719/article/details/90242904

公众号“Java精选”所发表内容注明来源的,版权归原出处所有(无法查证版权的或者未注明出处的均来自网络,系转载,转载的目的在于传递更多信息,版权属于原作者。如有侵权,请联系,笔者会第一时间删除处理!

最近有很多人问,有没有读者交流群!加入方式很简单,公众号Java精选,回复“加群”,即可入群!

(微信小程序):3000+道面试题,包含Java基础、并发、JVM、线程、MQ系列、Redis、Spring系列、Elasticsearch、Docker、K8s、Flink、Spark、架构设计等,在线随时刷题!

特别推荐:专注分享最前沿的技术与资讯,为弯道超车做好准备及各种开源项目与高效率软件的公众号,「大咖笔记」,专注挖掘好东西,非常值得大家关注。点击下方公众号卡片关注

文章有帮助的话,点在看,转发吧!

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
税太高了?一家企业要交13%增值税、25%企业所得税、20%分红税

税太高了?一家企业要交13%增值税、25%企业所得税、20%分红税

小蜜情感说
2024-06-16 07:50:02
这设计没谁了!华为Mate70 Pro外观首曝,高端设计还得看华为

这设计没谁了!华为Mate70 Pro外观首曝,高端设计还得看华为

最潮家居评
2024-06-19 17:34:46
阿斯:库库的生涯累计转会费已超1亿欧,西班牙球员中仅次莫拉塔

阿斯:库库的生涯累计转会费已超1亿欧,西班牙球员中仅次莫拉塔

直播吧
2024-06-19 12:35:28
重庆市奉节县8位女性领导,关于美丽奉节及其他!

重庆市奉节县8位女性领导,关于美丽奉节及其他!

靓仔情感
2024-06-19 18:41:08
1959年,毛主席重回韶山,共和3000名乡亲握手,最后手竟然握肿了

1959年,毛主席重回韶山,共和3000名乡亲握手,最后手竟然握肿了

史海任我行
2024-06-18 18:09:13
宁夏多地发布暴雨、冰雹橙色预警

宁夏多地发布暴雨、冰雹橙色预警

北青网-北京青年报
2024-06-19 18:29:04
倒查倒缴30年税款,税务系统人数扩招,信号越来越明显了

倒查倒缴30年税款,税务系统人数扩招,信号越来越明显了

户外钓鱼哥阿旱
2024-06-18 22:32:33
羞耻又奇怪的男人生理知识(女生必看)

羞耻又奇怪的男人生理知识(女生必看)

喜马拉雅主播暮霭
2024-06-19 11:54:50
外交非常失败的国家:大国全闹掰,邻国皆有仇,为何却没被制裁?

外交非常失败的国家:大国全闹掰,邻国皆有仇,为何却没被制裁?

鲸探所长
2024-06-14 22:00:46
女孩子为什么喜欢被打屁股?她的快乐你想象不到

女孩子为什么喜欢被打屁股?她的快乐你想象不到

南风山
2024-06-18 01:45:02
官宣!中国女排2项重大人事任命,蔡斌下课谜底揭晓,恭喜朱婷

官宣!中国女排2项重大人事任命,蔡斌下课谜底揭晓,恭喜朱婷

宝哥精彩赛事
2024-06-19 13:05:03
以色列竟要求黎巴嫩不要晚上袭击以色列,原因是以色列士兵要休息

以色列竟要求黎巴嫩不要晚上袭击以色列,原因是以色列士兵要休息

橘色数码
2024-06-18 08:33:26
尿毒症是喝出来的?医生告诫:即便是铁打的肾,这3种水也要少喝

尿毒症是喝出来的?医生告诫:即便是铁打的肾,这3种水也要少喝

莫将离
2024-06-01 23:41:40
943元!8小时17分到深圳,本月22号开通!

943元!8小时17分到深圳,本月22号开通!

山西达人
2024-06-19 12:45:05
山海关大战有多惨烈?大顺军打到只剩7000人,15员大将当场殒命

山海关大战有多惨烈?大顺军打到只剩7000人,15员大将当场殒命

河山历史
2024-06-19 20:47:41
使馆车违停后续:女司机真实身份曝光,生活照被扒,亚太受牵连

使馆车违停后续:女司机真实身份曝光,生活照被扒,亚太受牵连

飘飘视角
2024-06-18 23:54:10
全球规模最大的轰炸机“轰6”,真实战力如何?看得我直冒冷汗

全球规模最大的轰炸机“轰6”,真实战力如何?看得我直冒冷汗

奇点使者
2024-06-18 18:25:02
凹凸毕现,玲珑有致!

凹凸毕现,玲珑有致!

北冥说事
2024-06-09 21:53:13
如何看待普京访问朝鲜?网友:历史告诉俄罗斯,只有东方才是救星

如何看待普京访问朝鲜?网友:历史告诉俄罗斯,只有东方才是救星

大东北的小豆包
2024-06-19 14:46:39
3个月狂赚265亿!被嘲“代工厂”的老牌车企,全靠华为撑腰?

3个月狂赚265亿!被嘲“代工厂”的老牌车企,全靠华为撑腰?

毒sir财经
2024-06-18 17:57:07
2024-06-19 22:02:44
Java精选
Java精选
一场永远也演不完的戏
1551文章数 3855关注度
往期回顾 全部

头条要闻

干部沉迷"商海":我每天想的不是工作 是金钱香车美女

头条要闻

干部沉迷"商海":我每天想的不是工作 是金钱香车美女

体育要闻

欧洲杯最大的混子,非他莫属

娱乐要闻

黄一鸣“杀疯了” 直播间卖大葱养孩子

财经要闻

深化科创板改革 证监会发布八条措施

科技要闻

618观察:谁为高强度的低价竞争买单?

汽车要闻

双肾格栅变化大/内饰焕新 新一代宝马X3官图发布

态度原创

游戏
艺术
教育
旅游
本地

《塞尔达传说》新作截图、背景介绍:林克下落不明!

艺术要闻

穿越时空的艺术:《马可·波罗》AI沉浸影片探索人类文明

教育要闻

解三角形新策略:圆内接四边形ABCD,2sinA+2sinB如何求?桥梁法

旅游要闻

遭遇极端高温天气导致希腊多名游客死亡

本地新闻

中式沙拉宇宙的天花板,它必须有姓名

无障碍浏览 进入关怀版