常见错误

一、List的值为List:

     在添加List到List中时,要注意以下问题:

        Module m ;
        Case c ;
        List caseList = null ;                                  //List元素下的List属性
        List mList = new ArrayList() ;                   //List对象
        
        JSONObject json = JSONObject.fromObject(moduleCase);
        
        logger.error("" + json.get("test")) ;
        JSONArray testJarr = (JSONArray)json.get("test");
        logger.error("" + testJarr.size()) ;
        for(int i = 0 ; i < testJarr.size() ; i ++){
            JSONObject jobj = (JSONObject)testJarr.get(i) ;            
            m = new Module() ;
            m.setId(String.valueOf(i));
            m.setModuleName(String.valueOf(jobj.get("module")));
            
            JSONArray caseJarr = (JSONArray)jobj.get("caseList") ;

           // caseList.clear() ;                                       //这样清空是没有作用的,到最后mList下的所有caseList元素都是最后生成的caseList的值,因此一定要新建一个List对象

            caseList = new ArrayList() ;                    //清空caseList
            for(int j = 0 ; j < caseJarr.size() ; j ++){
                c = new Case() ;
                c.setId(String.valueOf(j));
                c.setCaseName(String.valueOf(caseJarr.get(j)));
                caseList.add(c) ;
                m.setCaseList(caseList);
            }
            mList.add(m) ;
        }


评论:此为对象没有搞清楚造成的错误,对象在被实例化后可以被多处引用;要想得到不同的对象,就必须多次实例化

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章