久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

為什么 AbstractCollection 不實(shí)現(xiàn) equals()?

Why AbstractCollection does not implement equals()?(為什么 AbstractCollection 不實(shí)現(xiàn) equals()?)
本文介紹了為什么 AbstractCollection 不實(shí)現(xiàn) equals()?的處理方法,對大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

你知道嗎:

地圖m1 = new HashMap<對象,對象>();地圖<對象,對象>m2 = new HashMap<對象,對象>();System.out.println("m1.equals(m2) = "+m1.equals(m2));System.out.println("m1.keySet().equals(m2.keySet()) = "+m1.keySet().equals(m2.keySet()));System.out.println("m1.entrySet().equals(m2.entrySet()) = "+m1.entrySet().equals(m2.entrySet()));System.out.println("m1.values().equals(m2.values()) = "+m1.values().equals(m2.values()));

會輸出:

m1.equals(m2) = truem1.keySet().equals(m2.keySet()) = truem1.entrySet().equals(m2.entrySet()) = truem1.values().equals(m2.values()) = false

這是因?yàn)?AbstractCollection(HashMap$Values 繼承自)沒有覆蓋 #equals().p>

你知道為什么會這樣嗎?

解決方案

根據(jù)Collection#equals()Collection 沒有通用的 equals() 方法,因此 AbstractCollection 無法提供.

請注意,HashMap$Values 既不是 Set 也不是 List,因此很困惑,從某種意義上說,它不支持 equals().

Did you know that :

Map<Object,Object> m1 = new HashMap<Object, Object>();
Map<Object,Object> m2 = new HashMap<Object, Object>();
System.out.println("m1.equals(m2) = "+m1.equals(m2));
System.out.println("m1.keySet().equals(m2.keySet()) = "
            +m1.keySet().equals(m2.keySet()));
System.out.println("m1.entrySet().equals(m2.entrySet()) = "
            +m1.entrySet().equals(m2.entrySet()));
System.out.println("m1.values().equals(m2.values()) = "
            +m1.values().equals(m2.values()));

would output :

m1.equals(m2) = true
m1.keySet().equals(m2.keySet()) = true
m1.entrySet().equals(m2.entrySet()) = true
m1.values().equals(m2.values()) = false

This is caused by the fact that AbstractCollection (which HashMap$Values inherits from) does not overrides #equals().

Do you have an idea why this is so ?

解決方案

Per the contract of Collection#equals(), there is no general-purpose equals() methods for Collections, and thus AbstractCollection cannot provide one.

Note that HashMap$Values is neither a Set nor a List, thus the quandary and in a sense the reason it does not support equals().

這篇關(guān)于為什么 AbstractCollection 不實(shí)現(xiàn) equals()?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Couchbase Bucket authentication error(Couchbase 存儲桶身份驗(yàn)證錯(cuò)誤)
How to setup SDK in IntelliJ IDEA?(如何在 IntelliJ IDEA 中設(shè)置 SDK?)
error importing com.google.android.gms.*;(導(dǎo)入 com.google.android.gms.* 時(shí)出錯(cuò);)
Cannot list image publishers from Azure java SDK(無法從 Azure java SDK 列出圖像發(fā)布者)
How do I know that the Soundpool is ready using SDK target below 2.2?(我如何知道 Soundpool 已準(zhǔn)備好使用低于 2.2 的 SDK 目標(biāo)?)
What is #39;savedInstanceState#39;?(什么是“已保存實(shí)例狀態(tài)?)
主站蜘蛛池模板: 风间由美一区二区三区在线观看 | 亚洲精品 在线播放 | 欧美日韩在线综合 | 超级碰在线 | 欧美一区永久视频免费观看 | 亚洲国产精品一区在线观看 | 欧美精品一区二区三区一线天视频 | 国产精品久久久久久久久久久久久 | 四虎最新视频 | 欧美日韩在线一区二区 | 久久国产精品一区二区三区 | 日韩一二三区视频 | 中文精品一区二区 | 国产欧美精品一区二区三区 | 永久av| 国产ts人妖系列高潮 | 成人免费视频 | 亚洲成人一区二区三区 | 麻豆a级片 | 免费一区二区三区 | 久久久日韩精品一区二区三区 | 亚洲激情在线视频 | 国产成人免费一区二区60岁 | 男女搞网站 | 精品一区二区三区视频在线观看 | 欧美freesex黑人又粗又大 | 国产精品一级在线观看 | 黄色网络在线观看 | 亚洲视频免费在线看 | 亚洲欧美少妇 | 奇米影视首页 | 亚洲在线免费观看 | 亚洲国产成人精品女人久久久 | 这里只有精品999 | 日韩在线一区二区 | 日韩欧美手机在线 | 国产一区二区三区免费 | 国产精品久久久久久久久 | 99精品久久久久久中文字幕 | 国产精品久久久久久久久久免费 | 国产小视频在线观看 |