【发布时间】:2011-05-25 17:11:24
【问题描述】:
编辑:我有两个对象,我必须将一个映射到另一个。问题是属性不完全匹配。我要映射的对象是平面的,有一堆 getter 和 setter。一切都非常好,易于使用。
我必须将它映射到一个具有某种不同结构的对象,在诸如SecAltIDGrp[] 之类的组和诸如下面的那些属性中。使用
ObjectToMapTo.setSecAltIDGrp(SecAltIDGrp[])
我有一些重复的组,我必须使用来自平面对象的 getter 的值进行映射,问题是这样的。要映射到的对象具有 Grps 的 Array[]s,必须由来自平面对象的各种不同的 getter 填充。我想不出一个干净的方法来做到这一点。
例如,我有一个代码是一个 cmets 数组,它具有以下结构。
public SecAltIDGrp[] populateComments(int NoComments)
{
SecAltIDGrp[] x = new SecAltIDGrp[NoComments];
for(int i; i < NoComments; i++)
{
x[i].setAltID(obj.getVal);
x[i].setAltIDSource(arg0, arg1);
}
}
但是数组的每个元素都由来自平面对象的不同 getter 填充...
在数组中插入一个 if 语句并将对象作为参数传递,这对我来说不是一件好事。这是相当可怕的编码。
我应该为许多这样的团体做这件事。有些数组元素设置器本身需要数组。
【问题讨论】:
-
你的问题很混乱。我不明白你想做什么,所以很难提供帮助:(
-
已完成编辑。如果还不清楚,请告诉我,我会尽可能详细地介绍您想要的内容
-
你能解释/展示一下吗? “但是数组的每个元素都由来自平面对象的不同 getter 填充......”
-
比如
x[1].setAltID(obj.getVal)x[2].setAltID(obj.getVal1)x[3].setAltID(obj.getVal2)getVal对每个元素都是不同的方法。
标签: java arrays generics nested