请教有个传参的问题?疑惑 String object is an immutable object 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public static void setName(String str) { str = str + "test"; }不可能改变传入的参数str的 1. int i=5; System.out.println(i); setNum(i); System.out.println(i); 没有什么好说的,是传值的,修改的是参数的拷贝,实参没有改变2. String myStr = new String("hello"); System.out.println("myStr is " + myStr); setName(myStr); System.out.println("myStr is " + myStr);正常来说,参数类应该是传址的,实参应该改变,但偏偏String类是非可变类,所以实参没变,用BufferString就变了 谢谢上楼的回复,的确我换了StringBuffer就可以看到变化了,在请问那如果是简单类型(比如int),在传参的时候是传值还是传址 最好不要看一些凌乱的文章,这样知识积累的不是很系统看一些java进阶书籍,有时间研究一下基本的java api(我也没有研究过) 一个递归的问题 java中使用matlab Java 内存问题 一道算法问题,求解 编译正确,执行时却错误?帮帮改改?? 在applet中如何改变html的背景颜色 关于JLabel类的问题 小弟请教:多列值放入ArrayList或者hashmap的问题。 想用动态变量给静态变量赋初值,能做到吗? 如何打开一个新窗口? 请问如何访问指定网址?? 一个简单的例子,请帮我解开“接口实现Java‘隐藏实现细目’”的迷惑。
{
str = str + "test";
}
不可能改变传入的参数str的
System.out.println(i);
setNum(i);
System.out.println(i);
没有什么好说的,是传值的,修改的是参数的拷贝,实参没有改变
2. String myStr = new String("hello");
System.out.println("myStr is " + myStr);
setName(myStr);
System.out.println("myStr is " + myStr);
正常来说,参数类应该是传址的,实参应该改变,但偏偏String类是非可变类,所以实参没变,用BufferString就变了
的确我换了StringBuffer就可以看到变化了,
在请问那如果是简单类型(比如int),在传参的时候是传值还是传址
看一些java进阶书籍,有时间研究一下基本的java api(我也没有研究过)