基础问题,关于交换字符串。 你交换只在swap()函数中是有效,但main()中,str1,str2 他们的实际值没有变.他们并不受swap()函数的影响. 你好好看看C语言就明白了,他们的内存地址实际上并未改变. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public class Test { public String[] swap (String str1, String str2) { String tmp = str1; str1 = str2; str2 = tmp; String [] result={str1,str2}; return result; } public static void main (String[] args) { String str1 = "left"; String str2 = "right"; String [] resulttemp=new Test().swap (str1, str2); System.out.println("str1: "+resulttemp[0]+" str2: "+resulttemp[1]); }};就可以了,可能是因为你的函数是无返回值的。 对,改变一下swap就可以了,swap函数的作用就是交换,但这个函数并没有起到实质性的作用,有两种方法:1用指针2用返回值,但java不提倡用1 agree on "我想应该是值传递的问题"String 在java中比较特殊,但偏向于基本数据类型,所以在这里是值传递; 这个问题是java中的值传递问题,在java中对基本变量传递的是值得一个副本,对于对象传递的refrence的副本,所以不会影响外边 这个,就因为我是学C++的,所以在java中碰到这个问题很困惑,只有一个解释,java中字符串是基本类型,是按值传递的,而且我没有办法获得它的地址? 那这个new 只是一个假象,并没在受控堆上分配内存? 请高手指点? out-of-the-box 在Java中是什么意思 大问题 请问JAVA如何实现登陆WEB网站?给个具体得例子可以好吗? 编的工作经历该如何和面试官扯? 有个DES加密解密的问题,请大家指教。 请问编译原理 系统结构的准确英文翻译是什么??? java反射 download 一个有关JTable的有难度的问题? Integer.ValueOf().intValue和Integer.parseInt有什么区别? JAVA 读数据库 和 读xml文件比,哪个性能好,快
public String[] swap (String str1, String str2) {
String tmp = str1; str1 = str2; str2 = tmp;
String [] result={str1,str2};
return result;
}
public static void main (String[] args) {
String str1 = "left";
String str2 = "right";
String [] resulttemp=new Test().swap (str1, str2);
System.out.println("str1: "+resulttemp[0]+" str2: "+resulttemp[1]);
}
};就可以了,可能是因为你的函数是无返回值的。
String 在java中比较特殊,但偏向于基本数据类型,所以在这里是值传递;
只有一个解释,java中字符串是基本类型,是按值传递的,
而且我没有办法获得它的地址? 那这个new 只是一个假象,并没在受控堆上分配内存?