请问String是传值的吗
请问String是传值的吗
楼主jhtisboy(容易受伤的男人)2002-05-14 15:42:59 在 Java / J2SE / 基础类 提问 我本来想在函数中用String参数
我以为是传地址的
谁知在函数中改变不了字符串
请问是怎么回事
我应该怎么办 问题点数:20、回复次数:15Top
1 楼jdyao(jdyao)回复于 2002-05-14 15:45:21 得分 5
Strings are constant; their values cannot be changed after they are created.Top
2 楼dylanwolf()回复于 2002-05-14 15:46:22 得分 5
String 是 immutable的。
把你的代码贴出来。Top
3 楼jhtisboy(容易受伤的男人)回复于 2002-05-14 15:49:34 得分 0
public int MyEncrypt(String str,int num){
str="ok";
}
main(){
String temp = "mystr";
MyEncrypt(temp);
System.out.println(temp);//temp还是mystr
}
Top
4 楼Patrick_DK(我有我的调调,就是这么屌)回复于 2002-05-14 15:56:10 得分 0
你这什么程序啊,错误多多
答案是mystr
String是类,传地址的
public class SYH
{
public void MyEncrypt(String str)
{
str="ok";
}
public static void main(String args)
{
SYH syh=new SYH();
syh.change("222");
System.out.println(syh.s);
}
public void change(String str)
{
this.s=str;
}
}Top
9 楼shihb()回复于 2002-05-14 16:33:20 得分 0
那你需要把这个字符串写成这个类中的一个域,然后用set方法来改变它!Top
10 楼qkaizhou(御赐金牌小密探!)回复于 2002-05-14 16:37:30 得分 0
是传地址,但String的内容不能修改!Top
11 楼qkaizhou(御赐金牌小密探!)回复于 2002-05-14 16:40:07 得分 0
用StringBuffer修改后,返回String即可!Top
12 楼newman0708(nch)回复于 2002-05-14 16:40:22 得分 0
用static,看看和你要求吗?Top
13 楼Patrick_DK(我有我的调调,就是这么屌)回复于 2002-05-14 16:41:54 得分 0
BTW,String类是immutable的Top
14 楼qkaizhou(御赐金牌小密探!)回复于 2002-05-14 16:42:58 得分 0
用StringBuffer修改后,返回String即可!Top
15 楼qkaizhou(御赐金牌小密探!)回复于 2002-05-14 16:58:00 得分 0
http://java.sun.com/j2se/1.4/docs/api/java/lang/StringBuffer.htmlTop
-
相关文章
2秒记住本站域名
玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn
