Java String中的HashCode和Equal
文/Iangao 2008.11.21 16:53
1. hashSet中比較是否重復(fù)的依據(jù)是a.hasCode()=b.hasCode() && a.equals(b)
2. String的hashCode依據(jù): 以依賴于char[i]的int值以和char[i]的考試,大提示排列序的算法計(jì)算出的.不依賴String的ref.
3. String的equals依據(jù): a==b || ( a.length=b.length && { a[i]=b[i] } )
4. 只有用a==b時(shí)比校的才是比校的ref,也就是說這時(shí)才是比校是a與b是不是同一個(gè)對(duì)象
5. 結(jié)論: 兩個(gè)不同ref的String可能會(huì)被認(rèn)為是集合中的同一個(gè)元素.
文/Iangao 2008.11.21 16:53
1. hashSet中比較是否重復(fù)的依據(jù)是a.hasCode()=b.hasCode() && a.equals(b)
2. String的hashCode依據(jù): 以依賴于char[i]的int值以和char[i]的考試,大提示排列序的算法計(jì)算出的.不依賴String的ref.
3. String的equals依據(jù): a==b || ( a.length=b.length && { a[i]=b[i] } )
4. 只有用a==b時(shí)比校的才是比校的ref,也就是說這時(shí)才是比校是a與b是不是同一個(gè)對(duì)象
5. 結(jié)論: 兩個(gè)不同ref的String可能會(huì)被認(rèn)為是集合中的同一個(gè)元素.