两个不同对象,拥有相同的属性,有个属性List,装的对象不同,如何转换,或者如何设计

非著名狗子 发布于 2017/03/17 09:38
阅读 1K+
收藏 0

举个简单的例子,  有4个对象 A,B,C,D    AB属性完全相同,CD属性完全相同。但是其中有个list属性,A中的list属性 放着C对象的集合,B中的list属性 放着D对象的集合,现在要将A中的值赋给B,如何实现,或者说如何设计。。

A{

private Integer id;

private List<C> myList;

}

B{

private Integer id;

private List<D> myList;

}

C{

private Integer age;

}

C{

private Integer age;

}

加载中
0
蓝风970655147
蓝风970655147

用你想到的最简单的思路 

蓝风970655147
蓝风970655147
回复 @非著名狗子 : 不用最好, 能实现功能就行了
非著名狗子
非著名狗子
想不到好的思路
0
wanglu_bj
wanglu_bj

这么做什么意义啊,需求的来源是什么

非著名狗子
非著名狗子
回复@wanglu_bj : 外部请求的参数,我要放到我内部的对象里面啊
0
52iSilence7
52iSilence7

不用想的那么复杂,用一个for循环就可以了

0
Mr_K
Mr_K

JSON 不行?

0
沉浮_
沉浮_

直接把A的值都取出来分别存到B中啊

0
啥是啥6171331189
啥是啥6171331189
使用继承,list中使用范型T代替
0
MnameHZJ
MnameHZJ
这种转换真的没啥意义的样子,如果真要这样做。可以这样子:用反射把A类里的属性全部取出来,然后循环,根据A类属性名取出B类中同名的属性,并把A类属性值设置到B类中。对于List类型,再做一次循环。
yccnn
yccnn
回复 @非著名狗子 : 可以试试Gson,接收为json字符串,再从json转为所需要的对象就可以,
MnameHZJ
MnameHZJ
不应该有组合或者继承关系吗?两个类都独立开来,如果数据库层有了变动,岂不是要改两个类?
非著名狗子
非著名狗子
一个对象是参数对象,前端传过来的,另一个对象是我服务内部的对象,用于增删改查的。。 内部的服务是提供给多个地方调用的。。 所以这样转换一下是必须的。。
0
非著名狗子
非著名狗子

引用来自“Mr_K”的评论

JSON 不行?

我用fastJson 做的  最方便 谢谢提醒

0
maxos
maxos

弄一个类包装一下就行啊

0
RickyLi
RickyLi

#Commons BeanUtils# 工具可以提供相关操作, 你值得拥有。

返回顶部
顶部