<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      之乎者也,阿彌陀佛

      軟件設計的原則就是,化繁為簡,化難為易,把人的思維集中在簡單的領域,然后通過有序的組合實現復雜的邏輯。

        博客園  :: 首頁  :: 新隨筆  :: 聯系 :: 訂閱 訂閱  :: 管理

      一句話:

      ==比較的是內存地址,如果內存地址相同,則相同;

      equals 內存地址相同則相同,如果內存地址不相同,看子類equals重寫方法的具體實現。

      package JavaCoreTechDemo.base;
      
      import sun.misc.Unsafe;
      
      import java.lang.reflect.Field;
      
      /**
       * Created by IntelliJ IDEA.
       * User: zz
       * Date: 2015/5/10
       */
      public class JavaEqualsAndDoubleEqual {
          public static void main(String[] args) throws Exception {
              testInt();
              testNotOverrideEquals();
              testStringEquals();
              testNewStringEquals();
          }
      
          private static void testInt() {
              System.out.println("=====================testInt=========================");
              int a = 1;
              int b = 1;
              System.out.println(String.format("a mem addr=%s,b mem addr=%s", AddressPrint.addressOf(a), AddressPrint.addressOf(b)));
              if (a == b) {
                  System.out.println("a==b");
              }
              Integer c = new Integer(a);
              Integer d = new Integer(b);
              System.out.println(String.format("c mem addr=%s,d mem addr=%s", AddressPrint.addressOf(c), AddressPrint.addressOf(d)));
      
              if (c == d) {
                  System.out.println("Integer  c  == Integer  d");
              }
              System.out.println("this.value=" + c.intValue());
              System.out.println("(Integer)var1=" + (Integer) d);
      
              if (c.equals(d)) {
                  System.out.println("Integer  c  equals Integer  d");
              }
      
          }
      
          private static void testNotOverrideEquals() {
              System.out.println("=====================testNotOverrideEquals=========================");
              TestA testA1 = new TestA();
              TestA testA2 = new TestA();
              System.out.println(String.format("testA1 mem addr=%s,testA2 mem addr=%s", AddressPrint.addressOf(testA1), AddressPrint.addressOf(testA2)));
              if (testA1 == testA2) {
                  System.out.println("TestA testA1  == TestA testA2");
              } else {
                  System.out.println("TestA testA1 != testA2");
              }
      
              if (testA1.equals(testA2)) {
                  //默認實現的equals比較的是對象的內存地址
                  System.out.println("TestA testA1  equals testA2");
              } else {
                  System.out.println("TestA testA1 not equals testA2");
              }
          }
      
          private static void testStringEquals() {
              System.out.println("=====================testStringEquals=========================");
              String s1 = "Monday";
              String s2 = "Monday";
              System.out.println(String.format("s1 mem addr=%s,s2 mem addr=%s", AddressPrint.addressOf(s1), AddressPrint.addressOf(s2)));
              //==比較的是內存地址,s1和s2內存地址一樣
              if (s1 == s2) {
                  System.out.println("s1 == s2");
              } else {
                  System.out.println("s1 != s2");
              }
              if (s1.equals(s2)) {
                  System.out.println("s1 equals s2");
              } else {
                  System.out.println("s1 not equals s2");
              }
          }
      
          private static void testNewStringEquals() {
              System.out.println("=====================testNewStringEquals=========================");
              String s1 = "Monday";
              String s2 = new String("Monday");
              //==比較的是內存地址,s1和s2內存地址不一樣
              System.out.println(String.format("s1 mem addr=%s,s2 mem addr=%s", AddressPrint.addressOf(s1), AddressPrint.addressOf(s2)));
      
              if (s1 == s2) {
                  System.out.println("s1 == s2");
              } else {
                  System.out.println("s1 != s2");
              }
              //String類重寫了equals,比較的是每個字符
              if (s1.equals(s2)) {
                  System.out.println("s1 equals s2");
              } else {
                  System.out.println("s1 not equals s2");
              }
          }
      }
      
      class TestA {
      
      }
      
      class AddressPrint {
          private static Unsafe unsafe;
      
          static {
              try {
                  Field field = Unsafe.class.getDeclaredField("theUnsafe");
                  field.setAccessible(true);
                  unsafe = (Unsafe) field.get(null);
              } catch (Exception e) {
                  e.printStackTrace();
              }
          }
      
          public static String addressOf(Object o) {
              Object[] array = new Object[]{o};
      
              long baseOffset = unsafe.arrayBaseOffset(Object[].class);
              int addressSize = unsafe.addressSize();
              try {
      
                  long objectAddress;
                  switch (addressSize) {
                      case 4:
                          objectAddress = unsafe.getInt(array, baseOffset);
                          break;
                      case 8:
                          objectAddress = unsafe.getLong(array, baseOffset);
                          break;
                      default:
                          throw new Error("unsupported address size: " + addressSize);
                  }
      
                  return (Long.toHexString(objectAddress));
              } catch (Exception e) {
                  System.out.println("unsupported address size:" + addressSize);
                  return null;
              }
          }
      
      }
      

        

      posted on 2015-05-10 11:40  搏擊的小船  閱讀(222)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲另类激情专区小说婷婷久| 亚洲av成人一区二区三区| 狠狠躁夜夜躁人人爽天天5| 亚洲a∨无码无在线观看| av永久免费网站在线观看| chinese性内射高清国产| 在线视频一区二区三区色| 日韩一区二区在线观看视频| 国产高清视频一区二区乱| 成人午夜激情在线观看| 2019国产精品青青草原| 成A人片亚洲日本久久| 欧美精品一区二区在线观看播放| 九九热精品视频在线免费| 露脸国产精品自产拍在线观看| 成人中文在线| 国产成人精品午夜福利在线观看 | 免费一区二三区三区蜜桃| 四虎在线成人免费观看| 成人福利国产午夜AV免费不卡在线| 久久久久影院色老大2020| 国产日韩av免费无码一区二区三区| 精品国产这么小也不放过| 乐安县| 华人在线亚洲欧美精品 | 日韩在线成年视频人网站观看| 日韩欧美国产aⅴ另类| 在线观看热码亚洲av每日更新| 亚洲av与日韩av在线| 亚洲精品成人福利网站| 国产精品人妻中文字幕| 国产精品乱一区二区三区| 国产成人a∨激情视频厨房| 亚洲超碰97无码中文字幕| 灵丘县| 亚洲偷自拍另类一区二区| 国产精品午夜福利合集| 久久亚洲精品11p| 亚洲成在人线AⅤ中文字幕| 亚洲欧美综合中文| 亚洲国产精品综合久久20|