1. package com.lovo; 2. 3. public class StringEqualTest { 4. 5. public static void main(String[] args) { 6. String a = "Programming"; 7. String b = new String("Programming"); 8. String c = "Program" + "ming"; 9. 10. System.out.println(a == b); 11. System.out.println(a == c); 12. System.out.println(a.equals(b)); 13. System.out.println(a.equals(c)); 14. System.out.println(a.intern() == b.intern()); 15. } 16. }
1 回答
管理員
TA贡献11条经验 获得超2个赞
这是我见过最无聊的问题:研究这个吧时间都浪费了,看一眼JRE source文件全都能明白,面向对象思想的掌握才是最主要的。
String a = "Programming"; //从String池里拿 地址 赋值给a(如果没有创建新对象)
String b = new String("Programming"); //不管String池,直接创建新对象
--------------------------
关于==和equals()
==:比较地址
equal:判断.equals()方法返回值为 正、负、0;
.intern(),比较String池里的地址
添加回答
举报
0/150
提交
取消