引用传递与值传递
2021/4/16 18:25:34
本文主要是介绍引用传递与值传递,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
今天写代码的时候,看了老大的代码,有一个地方没有理解
他在一开始new ArrayList(),然后把list传入各种方法中,在各个void方法中根据条件add(),最后对这个list操作。
【疑问】:我咋记得JAVA中是值传递啊?list传进去以后,经过各种操作又不返回,最后操作的时候不是还是空List吗?
我做了个实验
@Test public void test01(){ int i=2; add(i); System.out.println(i); } public void add(int i){ i++; }
输出结果是2,我还以为自己是对的,经过去数据库查询,list确实不是空,那是为啥?
突然想到 传入的是对象,我传的是值,是基本数据类型!!!
@Test public void test02(){ List<String> a=new ArrayList<>(); addElement(a); Iterator<String> iterator = a.iterator(); while (iterator.hasNext()){ System.out.println(iterator.next()); } } public void addElement(List<String> a){ a.add("AAA"); }
结果:AAA
果然,在调用方法的时候,有两种方式,值传递和引用传递 引用传递传的是对象的地址,和值传递不一样!!又因为基础问题纠结了一次。
这篇关于引用传递与值传递的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)