java面试题: StringBuffer a=new StringBuffer("A"); StringBuffer b=new StringBuffer("B

Posted Coding With you.....

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java面试题: StringBuffer a=new StringBuffer("A"); StringBuffer b=new StringBuffer("B相关的知识,希望对你有一定的参考价值。

题目: System.out.println(a+","+b); 的值为什么

class Client_port 
	 public static void main(String[] args) 
		   StringBuffer a=new StringBuffer("A"); 
		   StringBuffer b=new StringBuffer("B"); 
		   operate(a,b); 
		   System.out.println("a为"+a);
		   System.out.println("b为"+b);
		   System.out.println(a+","+b); 
		 
		public static void operate(StringBuffer x, StringBuffer y) 
		    x.append(y); 
		   
		    y=x; 
		    System.out.println("y为"+y);
		 
	     

结果:

看到这个答案是疑惑的,应该为AB,AB,查阅资料后这是引用类型。下面解释:

a指向A,b指向B,

operate():x指向A,y指向B----------------调用方法:x指向AB,y指向了X为AB

之后:a指向的值变成了AB,b指向的还是B

以上是关于java面试题: StringBuffer a=new StringBuffer("A"); StringBuffer b=new StringBuffer("B的主要内容,如果未能解决你的问题,请参考以下文章

java基础面试题

java 面试常问问题

Java面试题:StringStringBufferStringBuilder

java面试题总结

Java面试题Java中StringStringBufferStringBuilder 的区别?

Java研发工程师面试题