关于JAVA的一个问题,关于返回值类型的问题,求哥哥姐姐帮忙解答!
请问两种编程函数,为什么结果不同?publicclassHelloWorld{publicstaticvoidmain(String[]args){String[]c={...
请问两种编程函数,为什么结果不同?
public class HelloWorld{
public static void main(String []args){
String[] c={"hello","hi"};
String[] d={"hello","hi"};
c=transfer(d);
c[1]="nihao";
System.out.println(d[1]);
}
函数一 public static String[] transfer(String[] a)
{ String[] b=new String[2];
b[1]=a[1];
b[0]=a[0];
return b;
}
}
用这个函数调用时输出是:nihao
函数二:
public static String[] transfer(String[] a)
{return a;}
用这个函数调用时是输出是: hi。
不好意思,打错了,第一个函数输出的是:hi,用第二个函数输出的是nihao
我觉得a 不是已经把引用传给b了吗?然后b又把a的引用传给c,这样我认为调用第一个函数应该跟第调用二个函数一样的结果呀?应该两者都可以最后得到nihao呀,为什么只有第二函数会得到nihao呢? 展开
public class HelloWorld{
public static void main(String []args){
String[] c={"hello","hi"};
String[] d={"hello","hi"};
c=transfer(d);
c[1]="nihao";
System.out.println(d[1]);
}
函数一 public static String[] transfer(String[] a)
{ String[] b=new String[2];
b[1]=a[1];
b[0]=a[0];
return b;
}
}
用这个函数调用时输出是:nihao
函数二:
public static String[] transfer(String[] a)
{return a;}
用这个函数调用时是输出是: hi。
不好意思,打错了,第一个函数输出的是:hi,用第二个函数输出的是nihao
我觉得a 不是已经把引用传给b了吗?然后b又把a的引用传给c,这样我认为调用第一个函数应该跟第调用二个函数一样的结果呀?应该两者都可以最后得到nihao呀,为什么只有第二函数会得到nihao呢? 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询