/** * ==和equals區別 * ==: 基本變量中,==操作符專門用來比較兩個變量的值是否相等 ;引用變量中,==操作符專門用來比較兩個變量的引用是否相等 * <p> * equals: 只能作用於引用變量,沒有重寫,則指向兩個變量的引用地址,如果重寫了,則指向兩個變量的內容 */ public class test2 { public static void main(String[] args) { //當爲引用變量時 String a = new String("你好"); String b = new String("你好"); System.out.println(a == b);//內容雖然一樣,但是引用變量指向的地址不同,所以變量值不同。false System.out.println(a.equals(b));// 因爲String類裏重寫了equals方法,所以比較的是內容,相同,爲true String i = "你好"; String j = "你好"; System.out.println(i == j);//true System.out.println(i.equals(j));//true System.out.println(i.equals(b));//true test2 g = new test2(); test2 h = new test2(); System.out.println(g.equals(h));//false 因爲自己定義的test2沒有重寫equals方法, // 所以比較的是地址,因爲兩個對象的地址都不同,所以爲false // 當爲基礎類型時 int c = 5; int d = 5; short e = 5; int f = c; System.out.println(c == d);//true System.out.println(c == e);//true System.out.println(f == c);//true } }
==和equals 講解
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.