① Java中==和equal有什麼區別
Java中==和equal的區別為:
1、== 表示 判斷2個變數或對象實例是否指向同一個內存空間,equals()表示 判斷2個變數或對象實例所指向的內存空間的值是否相同。
2、== 表示 對內存地址進行比較,equals()表示 對字元串的內容進行比較。
3、== 表示引用是否相同,equals() 表示值是否相同。
② 「==」和「equals」的區別
java中equals和==的區別 值類型是存儲在內存中的堆棧(簡稱棧),而引用類型的變數在棧中僅僅是存儲引用類型變數的地址,而其本身則存儲在堆中。
==操作比較的是兩個變數的值是否相等,對於引用型變數表示的是兩個變數在堆中存儲的地址是否相同,即棧中的內容是否相同。
equals方法(是String類從它的超類Object中繼承的)被用來檢測兩個對象是否相等,即兩個對象的內容是否相等,區分大小寫。
常用於網路,由兩個等於號組成,但要注意與代"等等"的"=="區別開來。"=="中間是沒有空格的。
③ equals()和==到底有什麼區別啊
1、功能不同
"=="是判斷兩個變數或實例是不是指向同一個內存空間。
"equals"是判斷兩個變數或實例所指向的內存空間的值是不是相同。
2、定義不同
"equals"在JAVA中是一個方法。
"=="在JAVA中只是一個運算符合。
例子:
Student student1 = new Student();
Student student2 = new Student();
System.out.println(student1.equals(student2));
System.out.println(student1 == student2);
3、運行速度不同
"=="比"equals"運行速度快,因為"=="只是比較引用。
"equals"比"=="運行速度要慢。
(3)和equals方法究竟有什麼區別擴展閱讀
equals()方法特點:
1、自反性:x.equals(x)返回true;
2、對稱性:若x.equals(y)為true,則y.equals(x)亦為true;
3、傳遞性:若x.equals(y)為true且y.equals(z)也為true,則x.equals(z)亦為true;
4、一致性:x.equals(y)的第一次調用為true,那麼x.equals(y)的第二次、第三次、第n次調用也均為true,前提條件是沒有修改x也沒有修改y;
5、對於非空引用x,x.equals(null)永遠返回為false。
④ ==和equals方法究竟有什麼區別
「==「操作符專門用來比較兩個變數的值是否相等,「equals「方法是用於比較兩個獨立對象的內容是否相同。
⑤ equals方法與==到底有什麼區別
首先、==是判斷兩個變數或實例是不是指向同一個內存空間
而equals是判斷兩個變數或實例所指向的內存空間的值是不是相同
其次、==是指對內存地址進行比較
equals()是對字元串的內容進行比較
最後、==指引用是否相同
equals()指的是值是否相同
另外,值相同,地址不一定相同,而地址相同,值一定相同,即用equals比較的值為true,用==進行比較就不一定返回true,而用==比較為true,那麼用equals比較就一定為true。
順便提一句: == 是一個運算符。equals則是string對象的方法,可以.(點)出來。
⑥ java里 equals和== 區別
==是一個比較運算符,基本數據類型比較的是值,引用數據類型比較的是地址值。
(比較地址值即是指是否為同一個對象的引用)
equals()是一個方法,只能比較引用數據類型。重寫前比較的是地址值,重寫後比一般是比較對象的屬性。
(6)和equals方法究竟有什麼區別擴展閱讀:
java中的數據類型,可分為兩類:
1.基本數據類型,也稱原始數據類型。
byte,short,char,int,long,float,double,boolean,他們之間的比較,應用雙等號(==),比較的是他們的值。
2.復合數據類型。
當他們用(==)進行比較的時候,比較的是他們在內存中的存放地址,所以,除非是同一個new出來的對象,他們的比較後的結果為true,否則比較後結果為false。
JAVA當中所有的類都是繼承於Object這個基類的,在Object中的基類中定義了一個equals的方法,這個方法的初始行為是比較對象的內存地址。
但在一些類庫當中這個方法被覆蓋掉了,如String,Integer,Date在這些類當中equals有其自身的實現,而不再是比較類在堆內存中的存放地址了。
對於復合數據類型之間進行equals比較,在沒有覆寫equals方法的情況下,他們之間的比較還是基於他們在內存中的存放位置的地址值的,因為Object的equals方法也是用雙等號(==)進行比較的,所以比較後的結果跟雙等號(==)的結果相同。