欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java equal和 的區別

江奕云2年前9瀏覽0評論

Java中有一個很常用的方法叫做equals方法,它是Object類的方法,用于比較兩個對象是否相等。除此之外,還有一個==運算符,它也可以用來比較兩個對象是否相等。

那么equals方法和==運算符有什么區別呢?

public class Example {
public static void main(String[] args) {
String str1 = "hello";
String str2 = new String("hello");
String str3 = "hello";
System.out.println(str1 == str2); //false
System.out.println(str1 == str3); //true
System.out.println(str1.equals(str2)); //true
System.out.println(str1.equals(str3)); //true
}
}

從上面的代碼可以看出,如果用==運算符來比較兩個字符串對象str1和str2,結果為false,因為它們的地址不同;而用equals方法比較str1和str2,則結果為true,因為它們所表示的值相同。

而當比較str1和str3時,無論是用==運算符還是equals方法,結果都為true,這是因為Java字符串常量池會自動維護一個字符串值相等的對象只有一份的機制,因此str3會指向同樣值為"hello"的對象。

總的來說,==運算符比較的是兩個對象的地址,而equals方法比較的是兩個對象的值。但要注意,equals方法需要在相應的類中重寫,才能正確比較對象的值。