三句话简单总结:
1、传对象 = 传引用
2、传基本数据类型 = 传值
3、像String、Integer 等 immutable(不可变)类型因为没有提供自身修改的函数,每次修改都是新生成一个对象,所以要特殊对待,此时可以认为是传值。
(PS):
不可变类:所谓的不可变类是指这个类的实例一旦创建完成后,就不能改变其成员变量值。如JDK内部自带的很多不可变类:Interger、Long、Double、String等。
可变类:相对于不可变类,可变类创建实例后可以改变其成员变量值,开发中创建的大部分类都属于可变类。