public class StringBufferTest
{
public void operater(StringBuffer x,StringBuffer y)
{
//string.append(String)字符串添加函数
x.append(y);
y=x;
System.out.println("operater输出:"+"a="+x+",b="+y);
}
public static void main(String [] args)
{
StringBuffer a=new StringBuffer("A");
StringBuffer b=new StringBuffer("B");
StringBufferTest test=new StringBufferTest();
test.operater(a, b);
System.out.println("main输出:a="+a + ",b=" +b);
}
java的引用类型是地址传递,可是在operater中和main中输出结果为什么不一样呢?
JAVAä¼ éåæ°æ两ç§æ¹å¼ï¼å¼ä¼ éåå¼ç¨ä¼ é
å¼ä¼ éæ¯ä¼ éæ°æ®ï¼å¦åºæ¬æ°æ®ç±»åé½æ¯å¼ä¼ é
å¼ç¨ä¼ éæ¯æå½¢ååå®åçæéæåäºå ä¸çåä¸å¯¹è±¡ï¼å¯¹è±¡çå¼ç¨åæ°ç»çå¼ç¨ã
å®åï¼Javaçåºæ¬æ°æ®ç±»åï¼å¦intï¼doubleçå¨å½æ°çåæ°ä¼ éæ¶ï¼ä¼ éçæ¯å¯æ¬ãStringä¹å±äºè¿ä¸èç´ã
å½¢åï¼èå¦ææ¯å¯¹è±¡ï¼åä¼ éçæ¯å¼ç¨ã
å¦ä¸ä»£ç å®ä¾ï¼