最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解 Java 中 equals 和 == 的區(qū)別

 更新時間:2017年03月08日 10:43:27   投稿:lqh  
這篇文章主要介紹了詳解 Java 中 equals 和 == 的區(qū)別的相關(guān)資料,equals 和 == 都是用來檢測兩個字符串是否相等,返回值也都是布爾型,但是兩者在內(nèi)部比較的處理中卻不盡相同需要的朋友可以參考下

詳解 Java 中 equals 和 == 的區(qū)別

1 前言

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

2 區(qū)別

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

s.equals(t)

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

"Hello".equals(greating)

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

"Hello".equals("hello")

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

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

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 輸出的結(jié)果為:greating 與 Hello 的值相等!");
    }else {
      System.out.println("1,通過 equals 輸出的結(jié)果為:greating 與 Hello 的值不相等!");
    }

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

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

通過觀察以上的運行結(jié)果,顯然可以發(fā)現(xiàn),該程序完成驗證了我們之前的觀點。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • Spring 報錯:元素

    Spring 報錯:元素 "context:component-scan" 的前綴 "context" 未綁定的問題解決

    這篇文章主要介紹了Spring 報錯:元素 "context:component-scan" 的前綴 "context" 未綁定的問題解決的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • java泛型的局限探究及知識點總結(jié)

    java泛型的局限探究及知識點總結(jié)

    在本篇內(nèi)容里小編給大家分享的是一篇關(guān)于java泛型的局限探究及知識點總結(jié)內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)參考下。
    2021-07-07
  • Springboot打包部署代碼實例

    Springboot打包部署代碼實例

    這篇文章主要介紹了Springboot打包部署代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • MyBatis中多對多關(guān)系的映射和查詢

    MyBatis中多對多關(guān)系的映射和查詢

    本文主要介紹了MyBatis中多對多關(guān)系的映射和查詢的相關(guān)知識。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • 選擇java的理由:java之父訪談實錄

    選擇java的理由:java之父訪談實錄

    選擇java的理由:java之父訪談實錄...
    2006-12-12
  • 詳解maven的setting配置文件中mirror和repository的區(qū)別

    詳解maven的setting配置文件中mirror和repository的區(qū)別

    這篇文章主要介紹了詳解maven的setting配置文件中mirror和repository的區(qū)別,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • 實例代碼講解JAVA多線程

    實例代碼講解JAVA多線程

    這篇文章主要介紹講解JAVA多線程的有關(guān)知識,文中示例代碼非常詳細,供大家參考和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • java實現(xiàn)后臺返回base64圖形編碼

    java實現(xiàn)后臺返回base64圖形編碼

    這篇文章主要介紹了java實現(xiàn)后臺返回base64圖形編碼,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • java如何根據(jù)時間戳生成有序ID

    java如何根據(jù)時間戳生成有序ID

    這篇文章主要介紹了java如何根據(jù)時間戳生成有序ID問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Java動態(tài)腳本Groovy

    Java動態(tài)腳本Groovy

    本文介紹了Java動態(tài)腳本Groovy,Groovy是用于Java虛擬機的一種敏捷的動態(tài)語言,它是一種成熟的面向?qū)ο缶幊陶Z言,既可以用于面向?qū)ο缶幊?,又可以用作純粹的腳本語言。使用該種語言不必編寫過多的代碼,同時又具有閉包和動態(tài)語言中的其他特性,需要的朋友可以參考一下
    2021-12-12

最新評論

土默特左旗| 永嘉县| 金秀| 盐源县| 望奎县| 邵阳县| 南宁市| 桃源县| 涡阳县| 凌源市| 无锡市| 张北县| 本溪市| 丁青县| 渝北区| 淮安市| 昌吉市| 叙永县| 阳春市| 集安市| 德江县| 临猗县| 昭觉县| 乌拉特前旗| 宽甸| 弥勒县| 安平县| 潞西市| 集贤县| 日喀则市| 肇庆市| 锦屏县| 磐安县| 南康市| 宣威市| 盐津县| 缙云县| 瑞安市| 于田县| 鄂托克前旗| 栾川县|