final Iterator it = set.iterator();
            while (it.hasNext()) {
             final String strSet = (String) it.next();
                listRslt.add(new LabelValueBean(strSet, strSet));
            }
这段代码想把set里面的东西放到list里面去,但是需要在循环中反复new LabelValueBean实例,怎么能避免在循环中实例对象?大大们指点指点还有一个问题上面用到的局部变量it,strSet都是只读的,声明成final合适不?

解决方案 »

  1.   

    需要在循环中反复new LabelValueBean实例, 那么 怎么能避免在循环中实例对象?
    个人觉得final Iterator it = set.iterator(); 应该放在set申请之后,不应该放在这里
      

  2.   

    必须这样做的.否则你的LabelValueBean要是一个实例的话,那么每次都会更改同一个LabelValueBean的值.最后加到List中的LabelValueBean里面的值完全一样了
      

  3.   

    UP 而且个人觉得strSet it 都是局部变量 没必要申明为终态的吧
      

  4.   

    要声明为final,在实例化的时候不发生错误
      

  5.   

    都是局部变量,无需final,
    还有实例对象的问题,问题是你需要的对象,
    不实例新的对象怎么办?