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

答案为何不是D,求详细解释

2012-10-13 
答案为什么不是D,求详细解释public class Example{String strnew String(good)char[]ch{a,b,c}

答案为什么不是D,求详细解释
public class Example{
String str=new String("good");
char[]ch={'a','b','c'};
public static void main(String args[]){
Example ex=new Example();
ex.change(ex.str,ex.ch);
System.out.print(ex.str+" and ");
System.out.print(ex.ch);
}
public void change(String str,char ch[]){
str="test ok";
ch[0]='g';
}
}
A good and abc
B good and gbc
C test ok and abc
D test ok and gbc

[解决办法]
答案应该选b
一个传值 一个传引用
[解决办法]
good and gbc

[解决办法]
LZ要弄清楚一下对象的引用呀
[解决办法]
char是值传递,也就是只传入值,原本的不变
string引用传递传的是地址,方法中改变值原本的也就变了,因为是同一个地址里的值,这也是为什么比较字符串时要用equals()的原因。
注意:new string会开辟了两个空间,string s="dfgg"只开辟一个

热点排行