1. 程式人生 > >java中equals()的用法以及和“==”的區別

java中equals()的用法以及和“==”的區別

== 的作用:
  基本型別:比較的就是值是否相同
  引用型別:比較的就是地址值是否相同
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