equal和==
equal与==的区别:
在Objiect类中,这两者是等同的。
而在其他子类如String中equal被改写。equal在String中被改写,比较的是内容。
package com.fs.test;
public class Test {
private void m1() {
String s1 = "abc";
String s2 = "abc";
//s1,s2指向同一个字符串
String s3 = new String("abc");
//s3用new在堆中的开辟,地址不同于s1,s2,而内容仍是复制的数据段中的"abc"。
System.out.println(s1==s2);//true
System.out.println(s1==s3);//false
boolean b1 = s1.equals(s2);//true;
boolean b2 = s1.equals(s3);//true; //equal在String中被改写,比较的是内容。因此相等。
}
public static void main(String[] args) {
new Test().m1();
}
}