乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      ==和equals

       最初九月雪 2013-05-14
      ==
                  ==操作符是專門用來比較兩個變量的值是否相等。也就是比較兩個變量所對應(yīng)內(nèi)存中的地址是否相等。比較兩個基本類型變量是否相等只能用==。
                 如果一個變量指向的類型是對象類型時,這就涉及到兩塊內(nèi)存。
                     例如:
                              object obj  = new object();
                     這里面obj是一塊內(nèi)存,new object()又是一塊內(nèi)存,而obj內(nèi)存中的值就是new object()所在內(nèi)存的起始地址。對于對象類型,如果判斷兩個變量是否指向同一對象時(就是比較內(nèi)存是否相同)就用==。
      equals
               equals是比較兩個對象的內(nèi)容是否相等,但是這是兩個獨(dú)立的對象不是一個對象。
                               String str1 = new String(" ");
               String str2 = new String(" ");
               str1.equals(str2)的值為true,但是str1 == str2的值為false。str1和str2的內(nèi)容是相等的,但是內(nèi)存所在的位置是不同的。
               實(shí)際應(yīng)用時,一般String類型都是采用equals方法。
              如果自己沒有重寫equals方法,他就自動調(diào)用單根類object類的equals方法,我們可以看到這和用==沒有區(qū)別,像機(jī)械基本類型就是這樣定義如下:
                             boolean equals(object o){
      return this == o;
      }

      新的感覺:
        '==’考察的是內(nèi)存,equals是內(nèi)容。
      int i = 3;
      int j = 3;
      System.out.println(i == j);
      結(jié)果是true

      string i = “abc”;
      string j = “abc";
      Systrm.out.println(i == j);
      結(jié)果是true

      string i = new string("abc");
      string j = new string("abc");
      Systrm.out.println(i == j);
      結(jié)果是false

      這個涉及到Java內(nèi)存的管理問題,就是棧和堆。這里面涉及到棧的共享機(jī)制,比如第一個中的int i=3;它會首先在棧中尋找'3'這個內(nèi)容,如果有的話就直接指向他,沒有就開辟內(nèi)存并將內(nèi)容放入3.(時間不夠,再寫吧)




        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多