java string引用传递为什么和其他引用类型不一样,表现的是值传递的结果?

2024-12-16 17:06:11
推荐回答(4个)
回答1:

因为String不是基本数据类型,他传递的是对String对象的引用

回答2:

java只有值传递


加悬赏分了那我就网上荡一篇博文吧。
http://6924918.blog.51cto.com/6914918/1283761
看不懂记住结论也行。

回答3:

因为String和int一样是属于基本类型,不能传引用,只有类对像才可以,所以你可以用StringBuffer或StringBuilder实现字符串的引用传递

回答4:

试试应该可以这样
public class Test3 {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer("Hello ");
System.out.println("Before change, sb = " + sb);
changeData(sb);
System.out.println("After changeData(n), sb = " + sb);
}

public static void changeData(StringBuffer strBuf) {
strBuf = new StringBuffer("Hi ");
strBuf.append("World!");
}