Java中equals 和「 」區別

2021-08-16 07:31:59 字數 946 閱讀 1627

1.對於基礎資料型別,使用「=="比較值是否相等;

2.對於復合資料型別(類),使用equals()和「==」效果是一樣的,兩者比較的都是物件在記憶體中的存放位址(確切的說,是堆記憶體位址)。

3.對於string、integer、date等覆蓋了equals()方法的型別,「==」比較的是存放的記憶體位址。而equals()的結果則由覆蓋後的**決定。

4.string型別中,equals()比較的是兩字串內容是否相同。如:

1

2

3

4

5

6

7

8

string s1 ="hello";

string s2 ="hello";

s1.equals(s2)返回true

s1==s2返回true

string s1 ="hello";

string s2 =newstring("hello");

s1.equals(s2)返回的還是true

但是s1==s2返回false

Java 中equals 和 的區別

疑問 equals 和 是用來幹什麼的?1 比較8種基本資料型別的引用位址,是否一樣 2 比較引用物件的內容,即堆的記憶體位址,是否一樣 疑問 兩者區別?public boolean equals object o 如果不重寫equals 兩者是沒有區別的。分析下string中兩者的區別 strin...

Java中「equals「和「 「的區別

1.在基本資料型別中 對於基本型別而言,判斷的是兩個變數的值是否相等 equals 不能用於基本資料型別,如果要比較,就需要使用基本型別對應的包裝類 2.在引用型別中 比較的是變數的值在棧記憶體中存放的物件的堆記憶體位址 即比較引用的記憶體位址 equals 比較的是兩個物件的值是否相同 不是比較記...

java中equals和 的區別

比較的是位址,可以比較物件和屬性 equals只用來比較物件,equals內部是由 實現的,所以比較的也是位址,因為每個物件都繼承了object自帶equals方法,但有些類庫重寫了equals方法。1.首先對於屬性的,因為是八種基本資料型別之一 byte,short,char,int,long,f...