方法内改变形参引用影响实参问题详解

方法内修改形参引用问题详解


一、问题描述

方法内型参指向新建的对象是否会影响实参的引用呢?

我们看下面的例子

在这里插入图片描述

由图中我们可以看到,在main函数创建了一个新的ArrayList对象,并调用了print函数实现了对该对象进行修改和使其指向新建对象的操作,那么最后对象al应该是什么呢?


二、解答

在这里插入图片描述

我们由图中调试结果可以看到,最终al对象只有1,2两个值,说明函数print成功修改了al对象,而却无4的值,说明函数中无法修改形参引用的修改


三、结论

方法内型参指向新建的对象不会影响实参的引用呢,但方法内修改对象会影响实参