轉:Java String中的HashCode和Equal

herosoft發表於2009-07-07

Java String中的HashCode和Equal

文/Iangao 2008.11.21 16:53

1. hashSet中比較是否重複的依據是a.hasCode()=b.hasCode() && a.equals(b)
2. String的hashCode依據: 以依賴於char[i]的int值以和char[i]的排列序的演算法計算出的.不依賴String的ref.
3. String的equals依據: a==b || ( a.length=b.length && { a[i]=b[i] } )
4. 只有用a==b時比校的才是比校的ref,也就是說這時才是比校是a與b是不是同一個物件

[@more@]5. 結論: 兩個不同ref(引用)的String可能會被認為是集合中的同一個元素.


本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/Iangao/archive/2008/11/21/3346803.aspx

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/220284/viewspace-1023889/,如需轉載,請註明出處,否則將追究法律責任。

相關文章