這篇文章主要介紹了java中“==“與equals()的區別有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
==:關系運算符
在基本數據類型中比較兩個值的內容是否相等 在引用類型型中比較的是兩個對象的地址是否相等
equals()是Object類中的方法
1.基本數據類型無法使用equals()方法 2.在引用類型中若是沒有重寫Object類時,則默認使用Object類的equals方法,則仍然 利用“==”比較兩個對象的內存地址,若是重寫Object類的equals方法,則調用子類重寫后 的方法可以進行內容或值的比較 例如字符串中,equals()方法重寫Object類的equals()方法,從而可以直接比較字符串的 內容。(可以自行觀察字符串equals()源代碼,此處不細講)
"=="的具體用法,代碼如下:
package Test01;//"=="的具體實例public class Demo02 {
public static void main(String[] args) {
int a1=10;
int a2=10;
String str1=new String("aaa"); //在堆中開辟了新的空間,從而內存地址不相等
String str2=new String("aaa");
//比較基本數據類型
System.out.println(a1==a2);
//引用數據類型
System.out.println(str1==str2);
}}結果:
equals的用法,代碼如下:
1、創建一個對象,調用Object類的equals()方法,比較內存地址
package Test01;//equals()的具體實現package Test01;//Object類的equals()方法public class Demo02{
public static void main(String[] args) {
Demo03 demo=new Demo03("aaa");
Demo03 demo1=new Demo03("aaa");
System.out.println(demo.equals(demo1));
}}class Demo03 {
public String str;
public Demo03(String str){
this.str=str;
}
public String getStr() {
return str;
}}結果為:
2、例如字符串中,equals()方法重寫Object類的equals()方法,從而可以直接比較字符串的內容。
package Test01;//equals()的在字符串中的方法重寫public class Demo02{
public static void main(String[] args) {
String str1=new String("aaa");
String str2=new String("aaa");
System.out.println(str1.equals(str2));
}}結果為:
總結:
1、"=="在基本數據類型中比較值,在引用類型中比較內存地址
2、equals()在基本數據類型中不可使用
引用類型: 要是對象直接比較,則是調用Object類中equals()方法,要是想要比內容,則可以重寫Object類的equals()方法。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“java中“==“與equals()的區別有哪些”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。