Java的传值传引用有不同的效果,具体而言
一、传值
效果:仅将数据的值传递,不影响原地址的数据
适用数据类型:8种基本数据类型(byte、short、int、long、float、double、char、boolean)
代码举例:
二、传引用
效果:通过传递得到的数据和原数据公用一个地址内存,所以在方法中改变引用数据,原数据也改变
适用数据类型:对象类型(Object,数组,容器等)
代码举例:
注:如果在调用方法中新建一个变量,则两个数据不在公用一个内存即使在方法中改变引用数据,原数据也不改变
三、传String、Integer等immutable类型
效果:类的变量无法被修改,只能重新赋值或生成对象。所以传递后原数据的值不随调用方法改变。
适用数据类型:Java中不可变类(immutable类型)
代码举例: