JavaSE8基础 String是特殊的引用类型,在函数的参数传递中只能把它当做 值类型来看待
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaSE8基础 String是特殊的引用类型,在函数的参数传递中只能把它当做 值类型来看待相关的知识,希望对你有一定的参考价值。
os :windows7 x64
jdk:jdk-8u131-windows-x64
ide:Eclipse Oxygen Release (4.7.0)
code:
package jizuiku2; public class Demo001 { public static void main(String[] args) { String str1 = "cnblog"; String str2 = "jizuiku"; System.out.println(str1); System.out.println(str2); test(str1,str2); System.out.println(str1); System.out.println(str2); } public static void test(String str1, String str2) { //在这里的改变,并不会引起主函数中的str1/2改变 str1 = "jizuiku"; str2 = "cnblog"; } }
result:
使用Debug对其进行分析:
上图进入到了函数中,执行了str1="jizuiku";语句。发现str1变量确实发生了变化。但是.....
切换到main函数中来后,发现main函数中的str1和str2没有任何变化.....
再次切换到test函数中,执行完该函数。
test函数执行完毕,回到main函数中11行位置.... 可以看到str1/2没有任何变化。
感想:
研究源代码,查看前辈们的博文,学习英语读一读国外的相关方面的文章。争取早日Java入门!
Java优秀,值得学习。
学习资源:czbk的视频库。如果您有公开的资源,可以分享给我的话,用您的资源学习也可以。
博文是观看视频后,融入思考写成的。博文好,是老师讲得好。博文坏,是 给最苦 没认真。
以上是关于JavaSE8基础 String是特殊的引用类型,在函数的参数传递中只能把它当做 值类型来看待的主要内容,如果未能解决你的问题,请参考以下文章
JavaSE8基础 StringBuffer与String变量在追加字符串后,引用变量的地址发生改变
JavaSE8基础 ==和equals 比较两个引用类型的变量的地址值是否相同
JavaSE8基础 String String.valueOf 将int类型变量转换成同面值大小的String类型
JavaSE8基础 Integer.toString 将int类型转为同面值的String类型