您的位置:首页 > 职场人生

java中的“+”运算符,产生新对象问题。(非常好的面试题!)

2010-10-11 19:55 330 查看
刚刚在一个帖子中看到的问题,以前没有怎么注意。



这是一个非常好的面试题!



String a = "ab";
	      String b = "a" + "b";//这里会被编译器自动优化成b = "ab";
	      
	      String aa = "a";
	      String bb = "a";
	      
	      String c = aa+bb;
	      //由于和字面量"b"进行+运算的是一个对象而不是字面量,
	      //这样Java虚拟机就会在堆里面生成一个新的对象并返回该对象引用
	      String d = aa+"b";
	      String e = "a"+bb;
	      
	      System.out.println(a == b);//因此,只有第一个是true
	      System.out.println(a == c);
	      System.out.println(a == d);
	      System.out.println(a == e);
	      
	      System.out.println(d == e);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: