==與equals的區別

==與equals的區別

==是判斷內存棧裏面的值是否相等,具體來說,判斷基礎數據類型的值和引用數據類型的地址是否相等
equals是判斷字符串內容是否相等,equals屬於object

默認(沒有重寫)的情況下,equals也是判斷引用數據類型的地址是否相等
案例1:
public class TestEquals{
public static void main(String[]  args){
TestEquals t=new TestEquals();
TestEquals t2=new TestEquals();
system.out.println(t.equals(t2));
}
}

運行結果:false

案例2:
public class TestEquals{
public static void main(String[]  args){
TestEquals t=new TestEquals();
TestEquals t2=t;
system.out.println(t.equals(t2));
}
}
此時引用數據類型的地址是一樣
運行結果:true

也可以根據自己的情況重寫equals方法
案例3:
public class TestEquals {
//重寫equals方法

@Override
public boolean equals(Object obj) {
return true;
};
public static void main(String[] args) {
TestEquals t=new TestEquals();
TestEquals t2=t;
System.out.println(t.equals(t2));
}
}
重寫equals方法
重寫equals方法,返回true,則運行結果一直都輸出true。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章