在Java中,有兩種判斷兩個對象是否相等的方式,分別為“==”和“equals”函數。
“==”主要是用于基本數據類型,而在Java中,引用類型的對象之間的比較是通過其內存地址來比較的。如果兩個引用類型的對象內存地址相同,則“==”返回true;否則返回false。
int a = 10, b = 10; System.out.println(a == b); // 返回true String s1 = "Java"; String s2 = "Java"; System.out.println(s1 == s2); // 返回true String s3 = new String("Java"); String s4 = new String("Java"); System.out.println(s3 == s4); // 返回false
而“equals”函數則是用于比較兩個對象本身的值是否相等。對于String類型的對象而言,它的equals函數已被重寫,比較的是字符串的內容是否相等,而不是比較兩個對象的內存地址是否相同。
String s5 = new String("Java"); String s6 = new String("Java"); System.out.println(s5.equals(s6)); // 返回true
需要注意的是,如果要使用“equals”函數比較兩個對象的值是否相等,必須確保該對象的類已經重寫了該函數。如果沒有重寫該函數,則使用“equals”函數比較時將與使用“==”函數一樣,比較的是兩個對象的內存地址。
上一篇css 列表前的圓點