java程序运行结果_java的这个程序输出结果不明白

原问题:java的这个程序输出结果不明白
分类:编程开发 > 最后更新时间:【2016-12-21 22:07:56】
问题补充:

@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对象。
    最佳答案由网友  雪渊米若  提供
  • 公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
    12

    分享到:

    其他回答

    暂无其它回答!

      推荐