溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中“==“與equals()的區別有哪些

發布時間:2021-01-19 10:35:09 來源:億速云 閱讀:198 作者:小新 欄目:編程語言

這篇文章主要介紹了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);
	}}

結果:
java中“==“與equals()的區別有哪些


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;
	}}

結果為:
java中“==“與equals()的區別有哪些
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));
	}}

結果為:
java中“==“與equals()的區別有哪些 總結:

1、"=="在基本數據類型中比較值,在引用類型中比較內存地址

2、equals()在基本數據類型中不可使用
引用類型: 要是對象直接比較,則是調用Object類中equals()方法,要是想要比內容,則可以重寫Object類的equals()方法。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“java中“==“與equals()的區別有哪些”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女