永发信息网

java集合,循环添加对象问题

答案:2  悬赏:80  手机版
解决时间 2021-03-21 22:17
  • 提问者网友:疯孩纸
  • 2021-03-21 16:22
Result result = new Result;//错误
//Result result = null;正确的注释掉先
List results = a.elements("result");
for(Element r:results){
//result = new Result();正确的注释掉先
result.setName(r.attributeValue("name"));
result.setType(r.attributeValue("type"));
result.setPage(r.getText());

actionMapping.getResults().put(result.getName(), result);//getResult得到的是map集合
}
我按上述的代码遍历的话,为什么每次put到集合里面都是最后一个对象?我的put是在循环里面的啊,按程序的流程每次添加的值都不一样吧?
最佳答案
  • 五星知识达人网友:空山清雨
  • 2021-03-21 16:55
result = new Result;

这样的步骤应该写在 for 循环里面的

如果写在for循环外面, 那么for 里面的result都是同样的一个result对象
全部回答
  • 1楼网友:一秋
  • 2021-03-21 17:48
1 经典的for循环view code1publicstaticvoidmain(string[] args) {23list<string> list =newarraylist();4list.add("123");5list.add("java");6list.add("j2ee");7system.out.println("=========经典的for循环=======");8for(inti=0; i<list.size();i++){9system.out.println(list.get(i));10}11} 2 增强的for循环view code1publicstaticvoidmain(string[] args) {23list<string> list =newarraylist();4list.add("123");5list.add("java");6list.add("j2ee");7system.out.println("=========java1.6的for循环=======");8for(string s:list){9system.out.println(s);10}11} 3 iterate的使用view code1publicstaticvoidmain(string[] args) {23list<string> list =newarraylist();4list.add("123");5list.add("java");6list.add("j2ee");7system.out.println("=========iterate循环=======");8iterator<string> iter =list.iterator();9while(iter.hasnext()){10system.out.println(iter.next());11}1213}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯