import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;public class ListAddTest {
public static void main(String[] args) {
List<Object> list = new ArrayList<Object>();
dealList(list);
System.out.println(list); }

public static List<Object> dealList(List<Object> list){
if(null == list || list.size()==0){
list = new ArrayList<Object>();
Map<Object, Object> map1 = new HashMap<Object, Object>();
list.add(map1);
}
Map<Object, Object> map2 = new HashMap<Object, Object>();
map2.put("id", "139219");
list.add(map2);
return list;
}}我在dealList方法里对list进行了add,但最终list还是变成空的了,求大神帮忙解答下是什么原因

解决方案 »

  1.   


    你打印的list 是你在main方法中创建的  他本来就是一个空的 当然打印出来是空的了
      

  2.   

    1.main函数里将输出改成print(delaylist(list))
    2.在delaylist函数中既然传递得是主函数中创建得list对象,就没必要在这里再创建一个对象了。
    3.想答应list中的内容,请用forearch语句遍历。
      

  3.   

    dealList(list);改成list=dealList(list);
      

  4.   

    上面是正解.修改一:方法中不new集合;方法二:方法不必传参,直接主函数接收方法获得的集合.
      

  5.   

    参数是基于值得传递,你的有返回值。不过map你可以这样写
      

  6.   

    你的System.out.println(list);要打印的是你new的一个list集合,当然是空的啦!要想有数据打印你的dealList(list)方法啊
      

  7.   

    去掉list.size()==0即可