java值类型与引用类型问题
YuFS 2014-05-26 10:45:32 代码:
public static void main(String[] args) {
String str="a";
StringBuffer sb=new StringBuffer("a");
process(str);
System.out.println(str);
process(sb);
System.out.println(sb);
process(str,sb);
System.out.println(str);
System.out.println(sb);
//结果 a a a aA
}
public static void process(String str) {
str = "A";
}
public static void process(StringBuffer sb) {
sb = new StringBuffer();
sb.append("A");
}
public static void process(String str, StringBuffer sb) {
str = new String("A");
sb.append("A");
}
问题:String,StringBuffer不都是引用类型吗,为什么代码运行的结果是a a a aA(没有变化)?