首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于String 类 的有关问题

2013-08-29 
关于String 类 的问题首先代码String aabcacSystem.out.println(a)打印出来的是c解释是:String

关于String 类 的问题
首先代码
String a="abc";
a="c";
System.out.println(a);
打印出来的是c;
解释是:String虽然是final的但是a变的只是引用
但是
我定义了一个函数
public static void strChang(String str){
str="ddddd";
}
然后
String a="abc";
a="c";
strChang(a)
System.out.println(a);
怎么打印的还是c呢:
怎么解释啊
[解决办法]
第二个可以这么描述
a-> "abc"
a-> "c"
str ->"dddd"
打印a
所以a还是c
[解决办法]
基本类型传的是值,对象类型传的是引用,因为String是对象类型,传过去是a的引用,当a在函数里被改变值得时候,注意,其实只是把a的引用改变了,将a指向了"dddd",而之前的“c”这个值还在原来的地方没改变,所以回到原来的函数后,原来a的值还是没变化。

热点排行