package com.snapfires.pdf;
public class FultonObj {
private String fileNo;
private String parcelId;
private String situs;
public String getFileNo() {
return fileNo;
}
public void setFileNo(String fileNo) {
this.fileNo = fileNo;
}
public String getParcelId() {
return parcelId;
}
public void setParcelId(String parcelId) {
this.parcelId = parcelId;
}
public String getSitus() {
return situs;
}
public void setSitus(String situs) {
this.situs = situs;
}
}
package com.snapfires.pdf;
import java.util.ArrayList;
public class List {
public static void main(String arg[]) {
ArrayList<FultonObj> list = new ArrayList<FultonObj>();
FultonObj fuOb = new FultonObj();
String file1 = "file#1";
String file2 = "file#2";
String file3 = "file#3";
String parcelId1 = "parcelId1";
String parcelId2 = "parcelId2";
String parcelId3 = "parcelId3";
String situs1 = "situs1";
String situs2 = "situs2";
String situs3 = "situs3";
fuOb.setFileNo(file1);
fuOb.setParcelId(parcelId1);
fuOb.setSitus(situs1);
list.add(fuOb);
fuOb.setFileNo(file2);
fuOb.setParcelId(parcelId2);
fuOb.setSitus(situs2);
list.add(fuOb);
fuOb.setFileNo(file3);
fuOb.setParcelId(parcelId3);
fuOb.setSitus(situs3);
list.add(fuOb);
for(int b=0; b<list.size(); b++) {
System.out.println(list.get(b).getFileNo());
System.out.println(list.get(b).getParcelId());
System.out.println(list.get(b).getSitus());
}
}
}
当我运行这个小程序时,我只会得到添加到列表中的最后一个对象。尽管遍历列表,但结果是它打印出最后添加的对象。例如
file#3
parcelId3
situs3
file#3
parcelId3
situs3
file#3
parcelId3
situs3
我希望所有添加到列表中的对象不只是最后一个对象。有人可以让我知道为什么这种情况没有发生吗?
我不认为每次创建新的FultonObj对象都可以解决我的问题。这就是为什么。我正在阅读一个文本文件,其中一行可能只有file#,第二行可能只有file#和parcelId,第三行可能有file#,parcelId,situus。或每行file#,parcelId,situs的任意组合。但是顺序将始终相同,这意味着您将始终拥有:file#,parcelId,situs。因此,在将fuOb添加到ArrayList之前,需要确保它已完成。如果我创建多个fuOb,则可能所有fuOb都不完整,这意味着它具有file#,parcelId,situs。
答案 0 :(得分:2)
您的程序应该是这样的。每次在fuOb中设置数据时,它都会覆盖以前的数据。
FultonObj fuOb1 = new FultonObj();
fuOb1.setFileNo(file1);
fuOb1.setParcelId(parcelId1);
fuOb1.setSitus(situs1);
list.add(fuOb1);
FultonObj fuOb2 = new FultonObj();
fuOb2.setFileNo(file2);
fuOb2.setParcelId(parcelId2);
fuOb2.setSitus(situs2);
list.add(fuOb2);
答案 1 :(得分:1)
使三个FultonObj
不使用一个
fuOb1.setFileNo(file1);
fuOb1.setParcelId(parcelId1);
fuOb1.setSitus(situs1);
list.add(fuOb1);
fuOb2.setFileNo(file2);
fuOb2.setParcelId(parcelId2);
fuOb2.setSitus(situs2);
list.add(fuOb2);
fuOb3.setFileNo(file3);
fuOb3.setParcelId(parcelId3);
fuOb3.setSitus(situs3);
list.add(fuOb3);