當前位置:首頁 » 編程語言 » java的equals和

java的equals和

發布時間: 2022-05-29 03:29:13

1. java的equals和contains的區別

java的equals和contains的區別:

1、功能不同

equals指示其他某個對象是否與此對象「相等」。

contains當且僅當此字元串包含指定的 char 值序列時,返回 true。

2、用法不同

equals實現對象上差別可能性最大的相等關系;即,對於任何非空引用值 x 和 y,當且僅當 x 和 y 引用同一個對象時,此方法才返回 true(x == y 具有值 true)。

contains常用與集合中判斷某個對象是否含有這個元素。

3、含義不同

equals是比較兩個東西是否等同,適用於任何類別的對象。

contains是是否包含的意思,左邊的對象是一個容器了。

4、參數不同

equals參數為obj - 要與之比較的引用對象。

contains參數為s - 要搜索的序列。

2. java中equals和equal的區別

equals()是object的方法,所以只是適合對象,不適合於基本類型,equals()默認是用"=="比較兩個對象的內存地址,如果想要比較兩個對象的內容,要重寫equals()方法才可。
equal:是用來比較兩個對象內部的內容是否相等的,由於所有的類都是繼承
自java.lang.Object類的,所以如果沒有對該方法進行覆蓋的話,調用
的仍然是Object類中的方法,而Object中的equal方法返回的卻是==
的判斷,因此,如果在沒有進行該方法的覆蓋後,調用該方法是沒有
任何意義的。

3. java基礎中equals和==的區別

首先、==是判斷兩個變數或實例是不是指向同一個內存空間
而equals是判斷兩個變數或實例所指向的內存空間的值是不是相同
其次、==是指對內存地址進行比較
equals()是對字元串的內容進行比較
最後、==指引用是否相同
equals()指的是值是否相同
另外,值相同,地址不一定相同,而地址相同,值一定相同,即用equals比較的值為true,用==進行比較就不一定返回true,而用==比較為true,那麼用equals比較就一定為true。
順便提一句: == 是一個運算符。equals則是string對象的方法,可以.(點)出來。

4. java中equals和==的區別

==是判斷兩個變數或實例是不是指向同一個內存空間
equals是判斷兩個變數或實例所指向的內存空間的值是不是相同

除了String和封裝器,equals()和「==」沒什麼區別
但String和封裝器重寫了equals(),所以在這裡面,equals()指比較字元串或封裝對象對應的原始值是否相等,"=="是比較兩個對象是否為同一個對象

==是判斷兩個對象是否是同一個對象
equals是進行值的判斷
String a = new String("aaa");
String b = new String("a");
b += "aa";
則 a==b //錯誤
a.equals(b)//正確

5. Java中equals和==的區別

1、java中equals和==的區別 值類型是存儲在內存中的堆棧(簡稱棧),而引用類型的變數在棧中僅僅是存儲引用類型變數的地址,而其本身則存儲在堆中。
2、==操作比較的是兩個變數的值是否相等,對於引用型變數表示的是兩個變數在堆中存儲的地址是否相同,即棧中的內容是否相同。
3、equals操作表示的兩個變數是否是對同一個對象的引用,即堆中的內容是否相同。
4、==比較的是2個對象的地址,而equals比較的是2個對象的內容,顯然,當equals為true時,==不一定為true。

6. JAVA中"equals"和"=="他們之間有什麼區別

equals比較的字元串對象的值
例如String
str1
=
"123";
String
str2
=
new
String("123");
則str1.equals(str2)為true;而str1==str2為false
==在字元串比較是地址,而基本類型比較的就是值了
int
a=1;int
b=1;則a==b為true
如果String
str1
=
"123";
String
str2
=
"123";
則str1==str2也為true,因為"123"已經被分配了地址,str1和str2都是引用了相同的地址

7. java里 equals和== 區別

==是一個比較運算符,基本數據類型比較的是值,引用數據類型比較的是地址值。

(比較地址值即是指是否為同一個對象的引用)

equals()是一個方法,只能比較引用數據類型。重寫前比較的是地址值,重寫後比一般是比較對象的屬性。

(7)java的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方法也是用雙等號(==)進行比較的,所以比較後的結果跟雙等號(==)的結果相同。

8. Java中==和equal有什麼區別

Java中==和equal的區別為:

1、== 表示 判斷2個變數或對象實例是否指向同一個內存空間,equals()表示 判斷2個變數或對象實例所指向的內存空間的值是否相同。

2、== 表示 對內存地址進行比較,equals()表示 對字元串的內容進行比較。

3、== 表示引用是否相同,equals() 表示值是否相同。

9. 請問 java中 ==和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"比"=="運行速度要慢。

10. Java里的equals和==的區別是不是equals是比較內容,==是比較地址的

一般對象equals是比較地址,equals時地址一樣,值也一樣:java 對象繼承自 Object類,一般對象調用的都是Object的equals方法,查看源碼發現:Object邏輯就是的就是==。
String 也是繼承Object,但是重寫了equals方法,String的equals是比較了值得,這個比較特殊。

熱點內容
278源碼 發布:2025-02-12 09:22:40 瀏覽:248
13人牛牛源碼 發布:2025-02-12 09:22:40 瀏覽:155
win2008r2搭建iscsi伺服器 發布:2025-02-12 09:18:30 瀏覽:634
python解壓zip 發布:2025-02-12 09:08:46 瀏覽:921
如何加強人員配置 發布:2025-02-12 09:07:54 瀏覽:417
lol一區為什麼伺服器好卡 發布:2025-02-12 09:02:22 瀏覽:629
安卓運營商cm是哪個版本 發布:2025-02-12 09:00:00 瀏覽:515
pythonmd5校驗 發布:2025-02-12 08:51:00 瀏覽:470
編程題解析 發布:2025-02-12 08:40:30 瀏覽:454
bilibi手機緩存目錄在 發布:2025-02-12 08:33:11 瀏覽:458