根据Java内存模型可知,线程对于变量的操作都是在工作内存中进行,而不能直接读取主内存中的数据。
每个线程都有属于自己的工作内存,工作内存中保存了该线程使用的变量的主内存副本。
当基本数据类型作为参数传入时,传递的是值的拷贝,所以无论什么操作都不会影响原对象的值;
当对象作为参数传入时,传递的是引用地址的拷贝,所以对于对象的操作会改变原值。
Java参数传递时,传递的是值还是引用?
原文:https://www.cnblogs.com/alyiacon/p/12522774.html