函数用list作为形参,在函数体内new了下arraylist然后加入了一些成员,但在函数返回后作为实参的list值并没有成功加入(就是没变),list作为容器不应该是引用类型吗,形参应该会改变把,不懂求解答
你要把他放入list集合里面呀,然后再从集合里面取出来
理论的东西你还是看书再结合实践验证下吧,别人说你也没感觉。函数外面定义了指向list存储区的引用,函数的形参是第二个指向该存储区的引用,然后你在函数内部重新new了一个arraylist,相当于使得形参指向了另一个存储区arraylist,原本函数外面定义的list在函数里面就用不到了。你存储数据,存储到的是函数里面new的空间,不是函数外面new的,当然带不出来了
因为你又new了ArrayList,所以在堆内存又重新申请了一个空间,
而你这个形参是局部变量,当传过来的list地址因为new而又改变了,
当方法结束这个形参也就消失了,上面的list没有发生任何改变。