1. 程式人生 > >java equal與==區別

java equal與==區別

1.操作比較的是兩個變數的值是否相等,對於引用型變量表示的是兩個變數在堆中儲存的地址是否相同,即棧中的內容是否相同
2.equals操作表示的兩個變數是否是對同一個物件的引用,即堆中的內容是否相同
總結:簡單的來說,比較的是2個物件的地址,而equals比較的是2個物件的內容
例子:
String s1 = “Monday”;

String s2 = “Monday”;

s1==s1 //true,因為s1,s2的值均存放在常量池中,s1,s1在棧中存放常量池中位置相同

String s1 = “Monday”;

String s2 = new String(“Monday”);

s1==s2; //false

s1.equals(s2); //true