Java传值与Android中Intent传值

当基本数据类型(Boolean,byte,char,String,int,Long,float,double)作为参数传递时,传递的是实参值的副本,即传的是值,无论在函数中怎么操作这个副本,实参的值是不会被改变的。

当传递的是引用类型(Java类对象)时,传递的是对象的引用地址
如下图
在这里插入图片描述
基本类型传递的是值,引用类型传递的是引用,即对象的地址,即如果修改了传递过来的对象,就相当于把引用的那个地址所对应的对象修改了。

引用类型可以这么理解,对象就是一间房子,这个房子里有椅子、桌子等属性,对象的引用就相当于房子的地址,进行操作必须渠道对应的地址去修改这个房子的属性,我们对这个对象的传递相当于把地址传递给别人,别人可以到这个地址进行操作修改同一间房子,也就是原来的房子被修改。

在Android中 Intent传递对象则使用拷贝一份对象传递过去,传递的并不是对象的引用地址,而是这个对象的复制版本。
可以这样理解 同样是一间房子,intent传值相当于又建了一个一模一样的房子传递过去,所以别人操作的另一间房子,并不会对原来的房子造成影响。

在这里插入图片描述