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

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

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

      什么時候要重寫equals

      什么時候要重寫equals

      當對象需要根據值去比較它們是否相等時,需要我們重寫equals,而它的hashCode也同時需要被重要,一般來說就是對類里所有成員變更求hashCode。

      沒有重寫equals時

      一個類型Demo,有兩個實例demo1和demo2,當沒有直接比較它們時,它們是不相等的,因為它們的引用地址不相同。(默認情況下,equals和==是一樣的,比較引用類型的內存地址

      需要根據值比較相等時要重寫它們

      class Demo {
        private String name;
        private String email;
      
        public String getEmail() {
          return email;
        }
      
        public void setEmail(String email) {
          this.email = email;
        }
      
        public String getName() {
          return name;
        }
      
        public void setName(String name) {
          this.name = name;
        }
      
        @Override
        public boolean equals(Object o) {
          if (this == o) return true;
          if (o == null || getClass() != o.getClass()) return false;
          Demo demo = (Demo) o;
          return Objects.equals(name, demo.name) &&
              Objects.equals(email, demo.email);
        }
      
        @Override
        public int hashCode() {
      
          return Objects.hash(name, email);
        }
      }
      

      在生成多字段的hashCode時,使用了類型的Objects.hash這個方法,它的源碼如下

        public static int hashCode(Object a[]) {
              if (a == null)
                  return 0;
      
              int result = 1;
      
              for (Object element : a)
                  result = 31 * result + (element == null ? 0 : element.hashCode());
      
              return result;
          }
      

      使用單元測試校驗結果

        @Test
        public void hashcode() {
          Demo demo1 = new Demo();
          demo1.setName("zzl");
          Demo demo2 = new Demo();
          demo2.setName("zzl");
          Assert.assertEquals(demo1.getName().hashCode(), demo2.getName().hashCode());
          Assert.assertEquals(demo1.hashCode(), demo2.hashCode()); 
        }
      
      posted @ 2019-05-22 18:06  張占嶺  閱讀(2536)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲无线一二三四区手机| 日韩一区二区三区av在线| 国产99久久无码精品| 亚洲av无码精品蜜桃| 成人精品大片—懂色av| 妓院一钑片免看黄大片| 国内精品人妻无码久久久影院导航| 精品久久免费国产乱色也| 免费人成视频在线观看不卡| 在线aⅴ亚洲中文字幕 | 久热这里只有精品12| 久久99精品久久久学生| 女人腿张开让男人桶爽| 欧美性色黄大片www喷水| 国产av麻豆mag剧集| 国产精品一二三区蜜臀av| 无码国产欧美一区二区三区不卡| 国产成人一区二区不卡| 国产无遮挡又黄又大又爽| 午夜免费视频国产在线| 男女做aj视频免费的网站| 一道本AV免费不卡播放| 十八禁午夜福利免费网站| 日韩精品一区二区亚洲专区| 国产综合精品一区二区三区| 丁香婷婷在线观看| 国内精品久久人妻无码不卡 | 亚洲熟女国产熟女二区三区| 国产午夜福利视频合集| 国产精品va无码一区二区| 亚洲日韩图片专区第1页| 福利一区二区1000| 给我播放片在线观看| 久久久久综合中文字幕| 精品国产成人a在线观看| 日韩精品中文字幕人妻| 久久一夜天堂av一区二区| 人人妻人人爽人人澡av| 一区二区三区无码免费看| 人妻av一区二区三区av免费| 精品一区二区三区日韩版|