解决方案 »

  1.   

    引用传递和值传递,java除了基本数据类型都是引用传递。
      

  2.   

    代码有问题,将x.append(y)改为:x=x.append(y)就可以了!
      

  3.   

    首先,a指向了一个内存地址,该地址中的值为“A”(暂且把这个地址标识为addr1),b指向了另一个内存地址,该地址中的值为“B”(暂且把这个地址标识为addr2),a,b作为参数传进方法的其实是addr1和addr2,可以理解为x指向了addr1,y指向了addr2,当x.append(y)执行后,addr1中的值变为“AB”,执行y=x后,y不再指向addr2,而是指向了addr1,来看看此时两个内存地址的值:addr1中是“AB”,addr2中仍然是“B”,而方法外的a,b指向未变,所以输出这样的答案。
    好像有那么点绕,不过应该比较好理解!