java程序String类型作为参数的问题

一般来说,java里面A类调用B类的方法,并传递参数X()类型,因为通常实参是一个对象的引用,所以在B类的方法中修改传来的参数,在A类的原型也会发生变化。但我试过当实参为String类型时,在B类修改传入参数不会对A类的原型产生影响。为什么?除了String类型还有其他类型是这样的吗? (谢阅)
第一行X()类型应该是X(类型),开始写错了

第1个回答  2011-03-30
String 类型是final的,第1次赋值之后,之后的修改都是产生新的对象,并不是操作的原始对象。
比如:1个String类型的对象a,你修改a代码如:《a+="1";》,其实不是改变了a的值,是把a和"1"生成了1个新的对象,并且把a指向这个新的对象,实际上对象已经发生变化了。
第2个回答  2011-03-30
String是基本类型,8中基本类型都不会改变的
第3个回答  2011-03-30
我感觉你是学C开始的吧。我的理解,传递参数就是拿着一把钥匙去开启一个方法,拿回你要的东西,就这样!
相似回答