两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?

【答案】:
对。
如果对象要保存在HashSet 或HashMap 中,它们的equals 相等,那么,它们的hashcode 值
就必须相等。
如果不是要保存在HashSet 或HashMap,则与hashcode 没有什么关系了,这时候hashcode
不等是可以的,例如arrayList 存储的对象就不用实现hashcode,当然,我们没有理由不实
现,通常都会去实现的。

  • JAVA姣旇緝涓や釜瀛楃涓叉槸鍚鐩哥瓑鐢ㄤ粈涔
    绛旓細JAVA姣旇緝涓や釜瀛楃涓叉槸鍚︾浉绛夊彲浠ョ敤equals鏂规硶鎴栬呮槸鈥==鈥濄俥quals 鏂规硶甯稿父鐢ㄦ潵妫娴涓や釜瀵硅薄鏄惁鐩哥瓑锛屽嵆涓や釜瀵硅薄鐨勫唴瀹规槸鍚︾浉绛夛紝濡傛灉鍙槸姣旇緝瀵硅薄鐨勫唴瀹癸紝鑰屼笉姣旇緝瀵硅薄鏉ユ簮鍜屽姛鑳界被鍨嬫椂锛屽父鐢ㄦ鏂规硶銆傗==鈥濆父鐢ㄤ簬鐢ㄤ簬姣旇緝寮曠敤鍜屾瘮杈冨熀鏈暟鎹被鍨嬫椂鏄惁鍏锋湁涓嶅悓鐨勫姛鑳斤紝姣旇緝鍩烘湰鏁版嵁绫诲瀷锛屽鏋滀袱涓鍊肩浉鍚锛...
  • equals()鍜==鍒板簳鏈変粈涔堝尯鍒晩?
    绛旓細1銆佸姛鑳戒笉鍚 "=="鏄垽鏂涓や釜鍙橀噺鎴栧疄渚嬫槸涓嶆槸鎸囧悜鍚屼竴涓唴瀛樼┖闂淬"equals"鏄垽鏂袱涓彉閲忔垨瀹炰緥鎵鎸囧悜鐨勫唴瀛樼┖闂寸殑鍊兼槸涓嶆槸鐩稿悓銆2銆佸畾涔変笉鍚 "equals"鍦↗AVA涓槸涓涓柟娉曘"=="鍦↗AVA涓彧鏄竴涓繍绠楃鍚堛備緥瀛:Student student1 = new Student();Student student2 = new Student();System.o...
  • 璇烽棶鍚勪綅澶т浆杩欓亾java鐨勯噸鍐equals鍜岄噸鍐檋ashcode鏂规硶鍐呴儴鏄粈涔堟剰鎬...
    绛旓細瀵逛簬浠讳綍闈炵┖寮曠敤鍊紉,x.equal(null)搴旇繑鍥瀎alse銆傚綋鐒跺湪閫氬父鎯呭喌涓,濡傛灉鍙槸杩涜鍚屼竴涓被涓や釜瀵硅薄鐨鐩哥瓑姣旇緝,涓鑸兘鍙互婊¤冻浠ヤ笂5鐐硅姹,涓嬮潰鎴戜滑鏉ョ湅鍓嶉潰鍐欑殑涓涓緥瀛愩俻ackage com.zejian.test;public class Car { private int batch; public Car(int batch) { this.batch = batch; } public static void m...
  • java鎬庝箞姣旇緝涓や釜瀵硅薄鏄惁鐩哥瓑?
    绛旓細涓銆乯ava涓殑鍩烘湰鏁版嵁绫诲瀷锛坕nt銆乨ouble銆乻hort銆乴ong銆乥yte銆乫loat銆乥oolean銆乧har锛夊垽鏂槸鍚鐩哥瓑锛岀洿鎺ヤ娇鐢"=="灏辫浜嗭紝鐩哥瓑杩斿洖true锛屽惁鍒欙紝杩斿洖false銆備簩銆佷絾鏄痡ava涓殑寮曠敤绫诲瀷鐨瀵硅薄姣旇緝鍙樻侊紝鍋囪鏈涓や釜寮曠敤瀵硅薄obj1,obj2,obj1==obj2 鍒ゆ柇鏄痮bj1,obj2杩欎袱涓紩鐢ㄥ彉閲忔槸鍚︾浉绛夛紝鍗冲畠浠墍鎸囧悜鐨勫...
  • JAVA 涓轰粈涔堣閲嶅啓equals 鏂规硶鎵嶈兘瀵逛竴涓杩涜鎿嶄綔(瀹瑰櫒)
    绛旓細杩涜鍒犻櫎鎿嶄綔銆傝鐩哥瓑鐨勪緷鎹氨鏄敤equals鏂规硶鍜宧ashCode鏂规硶銆傚鏋滀綘鐨凬ame绫讳笉閲嶅啓equals鏂规硶锛屽氨浼氱敤Object鐨別quals鏂规硶鍘绘瘮杈冦侽bject鏈韩鐨刪ashCode()鏂规硶姣弉ew涓涓猦ashCode閮戒笉涓鏍凤紝鎵浠ュ湪瀹瑰櫒閲屾壘涓嶅埌浣犺鍒犻櫎鐨勫璞(铏界劧鍊间竴鏍)銆傛墍浠ヤ綘蹇呴』閲嶅啓equals鏂规硶鏍规嵁瀵硅薄鐨勫睘鎬у兼潵鍒ゆ柇涓や釜瀵硅薄鏄惁鐩哥瓑銆
  • java鐨equals鍜宑ontains鐨勫尯鍒
    绛旓細java鐨equals鍜宑ontains鐨勫尯鍒細1銆佸姛鑳戒笉鍚 equals鎸囩ず鍏朵粬鏌涓璞鏄惁涓庢瀵硅薄鈥鐩哥瓑鈥濄俢ontains褰撲笖浠呭綋姝ゅ瓧绗︿覆鍖呭惈鎸囧畾鐨 char 鍊煎簭鍒楁椂锛岃繑鍥 true銆2銆佺敤娉曚笉鍚 equals瀹炵幇瀵硅薄涓婂樊鍒彲鑳芥ф渶澶х殑鐩哥瓑鍏崇郴锛涘嵆锛屽浜庝换浣曢潪绌哄紩鐢ㄥ x 鍜 y锛屽綋涓斾粎褰 x 鍜 y 寮曠敤鍚屼竴涓璞℃椂锛屾鏂规硶鎵...
  • 涓轰粈涔堣鍐equals鐨勬椂鍊欎竴瀹氳瑕嗗啓hashCode
    绛旓細hashCode鏄紪璇戝櫒涓轰笉鍚屽璞′骇鐢熺殑涓嶅悓鏁存暟,鏍规嵁equal鏂规硶鐨勫畾涔:濡傛灉涓や釜瀵硅薄鏄鐩哥瓑(equal)鐨,閭d箞涓や釜瀵硅薄璋冪敤 hashCode蹇呴』浜х敓鐩稿悓鐨勬暣鏁扮粨鏋,鍗:equal涓簍rue,hashCode蹇呴』涓簍rue,equal涓篺alse,hashCode涔熷繀椤 涓篺alse,鎵浠ュ繀椤婚噸鍐檋ashCode鏉ヤ繚璇佷笌equal鍚屾銆 class Student { int num;String name;Student(int num...
  • 鍦–#.NET涓 sender.Equals 琛ㄧず鐨勬槸浠涔?
    绛旓細sender琛ㄧず浣犱骇鐢熶簨浠剁殑瀵硅薄锛屾瘮濡備綘鐐瑰嚮涓涓寜閽紝閭d箞sender灏辫〃绀鸿鎸夐挳锛涗笉杩囧畠鏄疧bject绫诲瀷鐨勶紱涓鑸寜閽簨浠跺涓嬫墍绀猴細protected void btn_Click(Object sender, EventArgs e){ //鎸夐挳浜嬩欢澶勭悊锛泒 sender.Equals(鍙︿竴涓帶浠)锛涜繖閲岀殑Equals()鏂规硶鏄睘浜庢墍鏈塐bject绫荤殑锛涚敱浜庨潰鍚戝璞′腑鎵鏈夌被鐨勫熀绫绘槸...
  • be equal to鍜equals to鏈変粈涔堝尯鍒
    绛旓細1銆乥e equal to涓殑equal鏄舰瀹硅瘝锛屾剰涓鐩稿悓鐨勶紝鍚屾牱鐨勶紝鐩哥瓑鐨勶紝骞崇瓑鐨勶紝鑳借儨浠荤殑 2銆equals to涓殑equal鏄姩璇嶏紝鎰忎负涓庘︾浉绛夛紝姣斿緱涓婏紝鏁屽緱杩 3銆佷袱鑰呭湪绛変簬銆佺浉绛夎繖涓剰鎬濅笂娌℃湁鍖哄埆锛屼絾鏄墠涓涓繕鏈夎儨浠荤殑鎰忔濓紝鑰屽悗鑰呮病鏈夈4銆佸彞鍨嬧渂e equal to...鈥濆睘浜庣瓑姣斿彞鍨嬶紝姣旇緝鍙屾柟鍩烘湰绛夊悓锛屽父...
  • ASP.NET搴旇仒闈㈣瘯棰
    绛旓細绛:1銆佹柟娉曠殑瑕嗙洊鏄瓙绫诲拰鐖剁被涔嬮棿鐨勫叧绯,鏄瀭鐩村叧绯;鏂规硶鐨勯噸杞芥槸鍚屼竴涓被涓柟娉曚箣闂寸殑鍏崇郴,鏄按骞冲叧绯 2銆佽鐩栧彧鑳界敱涓涓柟娉,鎴栧彧鑳界敱涓瀵规柟娉曚骇鐢熷叧绯;鏂规硶鐨勯噸杞芥槸澶氫釜鏂规硶涔嬮棿鐨勫叧绯汇 3銆佽鐩栬姹傚弬鏁板垪琛鐩稿悓;閲嶈浇瑕佹眰鍙傛暟鍒楄〃涓嶅悓銆 4銆佽鐩栧叧绯讳腑,璋冪敤閭d釜鏂规硶浣,鏄牴鎹璞$殑绫诲瀷(瀵硅薄瀵瑰簲瀛樺偍绌洪棿绫诲瀷...
  • 扩展阅读:两个人的小森林 ... 两个v交叉的w字体 ... 一二啥情侣意思 ... 相差25cm的情侣图 ... dxdy ... 两个c交叉 ... 两个事件独立怎么用图表示 ... △x和dx ... 两个vv在一起的符号 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网