【发布时间】:2015-07-15 08:47:02
【问题描述】:
我有这个代码。第一个是换行,第二个是填充每一行。第一个是我想从 data[] 读取数据并将其放在不同的行中。
List lista = new ArrayList();
Bean line = new Bean();
int j;
int i;
for (j = 1; j < data.length; j++) {
LinkedHashMap<String, Object> hmap = (LinkedHashMap<String, Object>)data[j];
for (i = 1; i < headers.length; i++) {
line.choosefield(i,headers,hmap);
}
lista.add(line);
}
我基本上只是一遍又一遍地重复我的 data[] 的最后一行(带有正确的字段)。我想我可以做类似的事情
lista.add(line1,2,3...)
我该怎么做?有没有更好的方法?使用 JDK 16。谢谢。
豆码:
public Object getField1() {
return field1;
}
public void setField1(Object field1) {
this.field1 = field1;
}
public Object getField2() {
return field2;
}
public void setField2(Object field2) {
this.field2 = field2;
}
...
public void choosefield(int i, String[] headers, LinkedHashMap<String, Object> hmap){
switch (i) {
case 1:
this.setField1(hmap.get(headers[1]));
break;
...
case 2:
this.setField2(hmap.get(headers[2]));
break;
data 是一个包含 17 个字段的链接哈希图数组
【问题讨论】:
-
如果不查看代码结构的全貌,很难说出了什么问题。什么是
data对象?什么是Bean类?以此类推。
标签: java for-loop reflection hashmap javabeans