java中equals()的用法以及和“==”的區別
阿新 • • 發佈:2018-12-04
== 的作用:
基本型別:比較的就是值是否相同
引用型別:比較的就是地址值是否相同
equals 的作用:
引用型別:預設情況下,比較的是地址值。
注:不過,我們可以根據情況自己重寫該方法。一般重寫都是自動生成,比較物件的成員變數值是否相同
public class StringDemo { 2 public static void main(String args[]) { 3 String str1 = "Hello"; 4 String str2 = new String("Hello"); 5 String str3 = str2; // 引用傳遞 6 System.out.println(str1 == str2); // false 7 System.out.println(str1 == str3); // false 8 System.out.println(str2 == str3); // true 9 System.out.println(str1.equals(str2)); // true 10 System.out.println(str1.equals(str3)); // true 11 System.out.println(str2.equals(str3)); // true 12 } 13 }
上面第四行我們new了一個str2所以會重新開闢一個空間導致str2的地址與str1不同,因此str1==str2是false,而equals比較的則是兩者的值是否相等,因此是ture