Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!news-in-01.newsfeed.easynews.com!easynews.com!easynews!news-out.news.tds.net!newsreading01.news.tds.net!53ab2750!not-for-mail From: "Robert Klemme" Subject: Re: hashCode Message-ID: <5027F2CB.56702.calajapr@time.synchro.net> X-Comment-To: Arne Vajhøj Newsgroups: comp.lang.java.programmer In-Reply-To: <50269FD0.56646.calajapr@time.synchro.net> References: <50269FD0.56646.calajapr@time.synchro.net> X-FTN-AREA: COMP.LANG.JAVA.PROGRAMMER X-FTN-MSGID: 1:261/38 e794f605 X-FTN-REPLY: 1:261/38 04dd6eaa Content-Type: text/plain; charset=IBM437 Content-Transfer-Encoding: 8bit X-Gateway: time.synchro.net [Synchronet 3.16a-Win32 NewsLink 1.98] Lines: 44 Date: Sun, 12 Aug 2012 18:58:20 GMT NNTP-Posting-Host: 69.21.70.65 X-Complaints-To: news@tds.net X-Trace: newsreading01.news.tds.net 1344797900 69.21.70.65 (Sun, 12 Aug 2012 13:58:20 CDT) NNTP-Posting-Date: Sun, 12 Aug 2012 13:58:20 CDT Organization: tds.net X-Received-Bytes: 2410 Xref: csiph.com comp.lang.java.programmer:17757 To: Arne Vajhøj From: Robert Klemme On 11.08.2012 01:27, Arne Vajhoj wrote: > On 8/10/2012 6:22 PM, bob smith wrote: >> On Friday, August 10, 2012 11:34:28 AM UTC-5, Eric Sosman wrote: >>> On 8/10/2012 11:47 AM, bob smith wrote: >>>> Is it always technically correct to override the hashCode function >>>> like so: >>>> @Override >>>> public int hashCode() { >>>> return 1; >>>> } >>>> Would it be potentially better if that was Object's implementation? >>> >>> Define "better." >> >> Better in the sense that you would never HAVE to override hashCode. >> >> Now, there are cases where you HAVE to override it, or your code is >> very broken. > > It is not broken. > > It will perform poorly in many cases. Well, I would go as far as to say that it will perform poorly in all cases where hashCode() is actually needed - and that makes it broken. The whole idea of hashing is based on the fact that the hash code _somehow_ represents the item to be hashed. If all items have the same constant hash code there is no point in hashing at all. So while it does work, it does not work as intended. Kind regards robert -- remember.guy do |as, often| as.you_can - without end http://blog.rubybestpractices.com/ --- BBBS/Li6 v4.10 Dada-1 * Origin: Prism bbs (1:261/38) --- Synchronet 3.16a-Win32 NewsLink 1.98 Time Warp of the Future BBS - telnet://time.synchro.net:24