equals和==的區別
發布時間:
2023-05-18 13:50:40
在Java中,equals()和==都是用于比較對象的運算符,但它們的作用不同。
1. equals()方法:equals()方法是Object類中的一個方法,用于比較兩個對象是否相等。它會比較兩個對象的內存地址是否相同,即判斷兩個對象是否是同一個對象。如果兩個對象是同一個對象,則返回true;否則返回false。例如:
String str1 = "hello";
String str2 = "hello";
System.out.println(str1.equals(str2)); // 輸出true
2. ==運算符:==運算符也是Object類中的一個運算符,用于比較兩個對象的引用是否相等。它會比較兩個對象的內存地址是否相同,即判斷兩個對象是否是同一個對象。如果兩個對象是同一個對象,則返回true;否則返回false。例如:
String str1 = "hello";
String str2 = "hello";
System.out.println(str1 == str2); // 輸出true
需要注意的是,==運算符比較的是兩個對象的引用是否相等,而不是它們的值是否相等。因此,如果兩個對象是不同的對象,但是它們的值相等,那么使用==運算符比較的結果是false。例如:
String str1 = "hello";
String str2 = new String("hello");
System.out.println(str1 == str2); // 輸出false
總之,equals()方法用于比較兩個對象的值是否相等,而==運算符用于比較兩個對象的引用是否相等。
上一篇:
如何解決過度擬合
下一篇:
static屬性內存特點