读书人

java 传接的参数为对象引用类型~ 求解

发布时间: 2012-10-21 09:00:07 作者: rapoo

java 传递的参数为对象引用类型~~ 求解释
String s = new String("hello ");

changeString(s);//changeString() 给s赋一个新的值

System.out.println(s);

书上给的解释是 对象引用指向的 字符串s 永远不会改变。

传递对象引用,通过这个引用去创建了 一个新的 String 类型的字符串



[解决办法]
java采用的是形参模式,传入方法的对象参数其实是原变量的一个克隆(浅克隆,其实就是指向同一地址的另一个引用)。那当你修改一个String参数的值时:String是不可变的,当你修改一个String时,事实上我们重新创建了一个对象,然后将原引用指向这个新对象。 那么最终在这个方法中,你只是将一个原变量的引用指向了另一个地址。当然不会影响原变量的指向地址中的值。
大概就是这个意思。不知道说明白了没。

读书人网 >J2SE开发

热点推荐