日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

源碼解析list.contains()方法,比較集合中的是存在某對象

作者:Jothan Zhong 更新時間: 2024-01-11 編程語言

直接上代碼:

如圖;這個集合中有世紀證券這個對象,那么我們拿這個test對象去比較,看是否在集合中存在,期望返回true,但是返回了false,

為什么會這樣,我們跟蹤list.contains的源碼去看看,因為這里是list的引用指向了arrayList對象,所以我們看arrayList的contains源碼,

它直接調用內部的indexof()方法去比較,可以看到內部是拿參數對象的equals()方法去比較,那么我們接著去看equals()方法。

這個源生object對象的equals()方法,?可以看到比較的是兩個對象的引用,這個肯定是不相等的。所以我們就要重寫student的equals()方法,自定義比較規則,例如,名字相等,則讓他們相等。

重寫完成,我們再來運行:返回true,達到效果。

原文鏈接:https://blog.csdn.net/qq_43985303/article/details/135235895

  • 上一篇:沒有了
  • 下一篇:沒有了
欄目分類
最近更新