Topic: 参数传递问题 |
Print this page |
1.参数传递问题 | Copy to clipboard |
Posted by: wzd1233 Posted on: 2006-05-23 14:02 书上说当参数为一个对象时, 是按引用传递的, 但是我就不明白为什么下面的程序会输出1234 public class test1 { public static void changeStr(String str){ str = str.replace('1','a'); } public static void main(String[] args) { String str= new String("1234"); changeStr(str); System.out.println(str); } } |
2.Re:参数传递问题 [Re: wzd1233] | Copy to clipboard |
Posted by: zcjl Posted on: 2006-05-23 14:10 此引用非彼引用,不要用c++的引用来理解 |
3.Re:参数传递问题 [Re: wzd1233] | Copy to clipboard |
Posted by: oujianqiang Posted on: 2006-05-23 19:24 应该改为这样就可以得到你想要的结果了
|
4.Re:参数传递问题 [Re: wzd1233] | Copy to clipboard |
Posted by: damondeng Posted on: 2006-05-24 13:48 这是Java初学者的一个常见问题。 String是一个对象, 但是它是一个安全对象, 当有String的操作时, JVM会新建一个String对象进行操作, 所以其效果就是传值,不是传参。 可以简单地记住String是一个特殊的类, 被传递时是传的值, 不是引用。 |
5.Re:参数传递问题 [Re: wzd1233] | Copy to clipboard |
Posted by: wzd1233 Posted on: 2006-05-24 14:05 谢谢各位! |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |