“==”与“equals”的区别
“”用在基本数据类型的比较时,比较的是内容,在引用数据类型中比较时是比较地址。
equals 比较也是用“”来比较,特殊点在于equals在字符串中(String)先比较地址再比较内容。我的理解是地址和内容就像是或关系,只要两者中有一个一样输出就为ture。
String a = "刘海柱";
String b = "李海柱";
String d = "刘海柱";
String c = new String("刘海柱");
String e = new String("刘海柱");
System.out.println(a==b);
System.out.println(a.equals(c));
System.out.println(a==d);
System.out.println(c==e);
System.out.println(c.equals(e));
String d= “刘海柱”;与String c = new String (“刘海柱”);的空间开辟方法不同,后者在堆里开辟空间,而前者则是在方法区里的“常量池”,如果在前面已经创建的数据就可以直接拿来使用。