java 值传递还是引用传递
首先看一下这篇文章 -- 跳
这篇文章就进行了大致的介绍,以及一些简单的例子,但是还缺少一个关键的例子:
public class QQ { public static void main(String[] args) { String[] strArray = new String[] { "1", "2" }; processOne(strArray); System.out.println(strArray[0] + " " + strArray[1]); processTwo(strArray); System.out.println(strArray[0] + " " + strArray[1]); } public static void processOne(String[] strArray) { strArray = new String[] { "3", "4" }; } public static void processTwo(String[] strArray) { strArray[0] = "3"; strArray[1] = "4"; } }
上面代码的输出为:
1 2
3 4
其实这个补充的例子主要想说明的是:如果参数是引用类型,则传递的是该参数所引用的对象在堆中地址值的拷贝
上面的例子中,数组对象可能会造成一点误解;其实不单单是数组对象,任何一个对象都是成立的。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步