91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java 中的equals與 == 有什么不同

發布時間:2020-11-11 16:35:47 來源:億速云 閱讀:135 作者:Leah 欄目:編程語言

這篇文章給大家介紹 Java 中的equals與 == 有什么不同,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

詳解 Java 中 equals 和 == 的區別

1 前言

  在 Java 語言中,equals 和 == 都是用來檢測兩個字符串是否相等,返回值也都是布爾型(boolean),但是兩者在內部比較的處理中卻不盡相同,因此在需要檢測兩個字符串是否相等的時候,我們一定要特別的注意,選擇適當的檢測方式,防止造成不必要的 bug。從表面上來看,這種 bug 很像隨機產生的間歇性錯誤。

2 區別

  在需要檢測兩個字符串是否相等的時候,我們可以使用 equals 方法。對于表達式:

s.equals(t)

  如果字符串 s 與字符串 t 相等,則返回 true;否則,返回 false。需要注意的是,s 與 t 可以是字符串常量也可以是字符串變量。例如,下面的表達式就是合法的:

"Hello".equals(greating)

  更進一步,如果想要檢測兩個字符串是否相等,而不區分大小寫,可以使用 equalsIgnoreCase 方法。例如,下面的表達式的值就是 true:

"Hello".equals("hello")

  在此,一定不能用 == 運算符來檢測兩個字符串是否相等!因為恒等運算符只能夠確定兩個字符串是否放置在同一個位置上。當然,如果兩個字符串放置在同一個位置上,它們必然相等。但是,完全有可能將內容相同的多個字符串的拷貝位置放置在不同的位置上。

  如果虛擬機始終將相同的字符串共享,就可以使用 == 運算符來檢測兩個字符串是否相等。但實際上,只有字符串常量是共享的,而 + 和 substring 等操作產生的結果并不是共享的。

3 示例

/**
 * @author 維C果糖
 * @create 2017-02-14
 */

public class equalsAndHD {
  public static void main(String[] args) {
    String greating = "Hello";

    if (greating.equals("Hello")){
      System.out.println("1,通過 equals 輸出的結果為:greating 與 Hello 的值相等!");
    }else {
      System.out.println("1,通過 equals 輸出的結果為:greating 與 Hello 的值不相等!");
    }

    if ((greating.substring(0,2) + "llo") == "Hello"){
      System.out.println("2,通過 == 輸出的結果為:greating 與 Hello 的值相等!");
    }else {
      System.out.println("2,通過 == 輸出的結果為:greating 與 Hello 的值不相等!");
    }
  }
}

運行以上程序后,結果如下圖所示:

Java 中的equals與 == 有什么不同

通過觀察以上的運行結果,顯然可以發現,該程序完成驗證了我們之前的觀點。

關于 Java 中的equals與 == 有什么不同就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沙河市| 游戏| 伊川县| 曲阳县| 宁德市| 台湾省| 兖州市| 顺昌县| 昭平县| 汕头市| 黄石市| 巴林右旗| 平湖市| 古蔺县| 龙泉市| 治多县| 许昌县| 鹿泉市| 登封市| 伊宁县| 安溪县| 临夏县| 柘荣县| 民县| 炎陵县| 二手房| 铜陵市| 昌乐县| 宣汉县| 珠海市| 辰溪县| 肥东县| 涿鹿县| 庆城县| 翁源县| 常熟市| 台南县| 时尚| 平顶山市| 平谷区| 石首市|