java程序运行结果_java的这个程序输出结果不明白
@Testpublicvoidtestssss(){FileUploadPojofile=newFileUploadPojo();file.setFileId(0);List<FileUploadPojo>list=newArrayList<FileUploadPojo>();inti=0;while(i<2){file.setFileId(file.getFileId()+1);file.setFileName("test"+file.getFileId());i++;list.add(file);}for(intj=0;j<list.size();j++){System.out.println(list.get(j).getFileName());}
}输出结果是
test2test2
结果不应该是
test1test2
吗
最佳答案
不是哦。你是相同的对象加入了两遍。
所以list.get(0)和list.get(1)完全相同。打印出来的结果肯定一样了。
明白你的意思。这样写就会得到你想要的结果。仔细想想。
while(i<2){
file = new FileUploadPojo();//加入这句话
file.setFileId(file.getFileId()+1);
file.setFileName("test"+file.getFileId());
i++;
list.add(file);
}
两次加入的都是方法中第一样创建的file对象。
其他回答
暂无其它回答!