色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java 中 == 和equery

林雅南1年前8瀏覽0評論

Java 中的常見運(yùn)算符有很多,其中 == 和 equals() 是最常見的兩個(gè)。這兩個(gè)運(yùn)算符都是用于比較兩個(gè)對象的值是否相等的。但是,它們之間還是有很大的區(qū)別。

// == 比較方式
String str1 = "hello";
String str2 = "hello";
System.out.println(str1 == str2); // true
String str3 = new String("hello");
String str4 = new String("hello");
System.out.println(str3 == str4); // false

上面的代碼中可以看到,使用 == 運(yùn)算符比較兩個(gè)字符串時(shí),如果它們都是直接賦值得到的,那么運(yùn)算結(jié)果是 true;但如果其中一個(gè)是通過 new 關(guān)鍵字創(chuàng)建的新對象,則兩個(gè)對象的引用并不相同,因此運(yùn)算結(jié)果是 false。

與之不同的是,equals() 運(yùn)算符比較的是兩個(gè)對象的內(nèi)容是否相同,即使兩個(gè)對象的引用不同,只要它們的內(nèi)容相同,equals() 運(yùn)算結(jié)果都會為 true。下面是一個(gè)例子:

// equals() 比較方式
String str1 = "hello";
String str2 = "hello";
System.out.println(str1.equals(str2)); // true
String str3 = new String("hello");
String str4 = new String("hello");
System.out.println(str3.equals(str4)); // true

注意:雖然 equals() 運(yùn)算符比 == 運(yùn)算符更為嚴(yán)謹(jǐn),但是如果需要比較兩個(gè)字符串是否相等,同時(shí)又需要考慮到性能問題,那么建議使用 "hello".equals(str) 這種方式,而不是 str.equals("hello"),因?yàn)榍罢呖梢员苊?str 為 null 的情況,避免了可能引發(fā)空指針異常的情況。下面是一個(gè)例子:

String str = null;
System.out.println("hello".equals(str));    // false
System.out.println(str.equals("hello"));    // NullPointerException

綜上所述,Java 中的等于運(yùn)算符有兩種:== 和 equals(),它們之間的區(qū)別主要在于比較的對象不同,其中 == 運(yùn)算符比較的是對象的引用,而 equals() 運(yùn)算符比較的是對象的內(nèi)容。需要注意的是,當(dāng)需要比較兩個(gè)字符串是否相等時(shí),最好使用 "hello".equals(str) 這種方式,避免了空指針異常的情況。