一张图解决java传值传引用问题
2017-10-10 本文已影响20人
yueyue_projects
java传引用.png
分析此类问题只需要知道两点:
- java有两种传参方式,基本类型用传值,包装类型用传引用
- 无论是传值还是传引用,形参都是实参复制后的副本,比如说上图的
p1,p2
都是引用p
复制后形成 .
假设T为String
类型,则类似changeP1(p)
的方法不会改变值,因为'String'类型是final
不能改变原有数据,changeP2(p)
这样的方式会改变p2
的值,但是此时p2
这个引用会指向另一块内存.