校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > java语言 > string(后续会删除)
题目

运行下面程序后的输出结果是()
public class Test {
  public static void main(String[] args) {
    StringBuffer a = new StringBuffer(“A”);
    StringBuffer b = new StringBuffer(“B”);
    operator(a, b);
    System.out.println(a + “,” + b);
  }
  public static void operator(StringBuffer x, StringBuffer y) {
    x.append(y); y = x;
  }
}

解答

答案:AB,B
解析:a,b是对象的引用,指向堆内存。将a,b两个引用传给x,y。运行x.append(y),改变了x引用指向的堆内存的存储内容,变为AB, y = x。表示引用y,指向引用x指向的存储区域。没有改变引用b,指向的存储空间的内容。一句话解决:string是值传递,stringbuffer是引用传递。。所以就这样了。

C 0条回复 评论

帖子还没人回复快来抢沙发