基础问题,关于交换字符串。 你交换只在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 只是一个假象,并没在受控堆上分配内存? 菜鸟求助,使用非数字子字符串分割一个字符串,怎么写正则表达式? websphere下dom4j读取xml文件没有反应 初学者 java网络编程的问题 用java 开发一个服务端,最多能同时连接多少个socket 菜鸟求问 请高手们帮帮忙,"玩"一个大家来找茬的游戏!急!谢谢了! 请教如何将JAVA的结果输出到文本中 请教高手有关java swing中树的问题,十分感谢 数据库更新的问题 让别人通过IE访问我的JAVA程序该如何做! 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 只是一个假象,并没在受控堆上分配内存?