最新回答 / wshyzx
詳細(xì)的可以去看HashMap的contains實(shí)現(xiàn),那里是equals和hashCode兩個(gè)同時(shí)使用了,所以在有Map的時(shí)候,必須兩個(gè)都要驗(yàn)證。HashSet也驗(yàn)證兩個(gè)。但是在ArrayList里不驗(yàn)證hashCode,所以你不重寫hashCode也無(wú)所謂。equals和hashcode方法要同時(shí)重寫,并且要在equals為true的時(shí)候,hashCode必須要相同。這個(gè)已經(jīng)是一種不成文的規(guī)定了,這兩個(gè)方法要重寫就要一起重寫,而且IDE里也會(huì)將只重寫一個(gè)視為警告。所以這兩個(gè)方法要同時(shí)重寫。
2014-10-29
最贊回答 / needself
就是一個(gè)for循環(huán) ? 里面 自增的i就是返回的值 比如第一次比較就正確了,i = 0 ?沒有自增,就返回了0lastIndexOf同樣是for循環(huán),只不過(guò) i = (obj.length - 1) , ?i開始--,一個(gè)比較方法,最后就是沒有匹配的就i=-1,直接返回
2014-10-28
最贊回答 / Lemuria
我在想,新產(chǎn)生的隨機(jī)字符串,要不要判斷是否在已經(jīng)在stringList中了?