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);
相关文章推荐
- java面试题二 "%"运算符的问题
- String创建对象的问题(java面试题)
- 黑马程序员 “+”运算符,产生新对象问题
- java第十周封装一类对象,功能是随机产生一个2000年后的年份,并输出该年2月的日历页,需处理闰年的问题。
- Java面试题——关于String创建几个对象问题
- Java--封装一类对象,功能是随机产生一个2000年后的年份,并输出该年2月的日历页,需处理闰年的问题。
- java--第十周--任务一 封装一类对象,功能是随机产生一个2000年后的年份,并输出该年2月的日历页,需处理闰年的问题
- JAVA--封装一类对象,功能是随机产生一个2000年后的年份,并输出该年2月的日历页,需处理闰年的问题
- java学习之旅45--面向对象_18_多态_基本概念_强制转型问题_instanceof运算符
- java对象序列化的问题
- java面试题中常见的关于String类问题总结
- 关于Java交换两个对象的问题
- java面向对象概述及javac的对象问题
- Java数值计算工具类NumberUtil(防止java计算产生浮点问题)
- java中的对象引用问题的再次理解。
- Java单例对象同步问题探讨
- 我的Java开发学习之旅------>Java String对象作为参数传递的问题解惑
- 【Java】消除fastjson对同一对象循环引用的问题
- Java线程并发干扰问题及解决方式(锁对象)
- BAT大厂Android面试题Java部分问题和答案整理(一)