Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #18489

Re: hashCode

Newsgroups comp.lang.java.programmer
Date 2012-08-31 15:33 -0700
References (17 earlier) <k1p4rh$im0$1@dont-email.me> <k1p6vk$s4p$1@dont-email.me> <ydnzk5brte4.fsf@shell.xmission.com> <k1qlpa$kjv$1@dont-email.me> <ydnvcfzrr5r.fsf@shell.xmission.com>
Message-ID <c230ca57-ae64-4a1c-8799-52bb2a7641e1@googlegroups.com> (permalink)
Subject Re: hashCode
From Lew <lewbloch@gmail.com>

Show all headers | View raw


On Friday, August 31, 2012 8:56:50 AM UTC-7, Jim Janney wrote:
> Eric Sosman <esosman@ieee-dot-org.invalid> writes:
> 
> 
> 
> > On 8/31/2012 11:08 AM, Jim Janney wrote:
> 
> >> Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> writes:
> 
> >>
> 
> >>> On 31/08/2012 03:43, Eric Sosman allegedly wrote:
> 
> >>>> On 8/30/2012 6:52 PM, Daniele Futtorovic wrote:
> 
> >>>> [...]
> 
> >>>> As an example of why a hasher might want access to a strictly-private
> 
> >>>> field, I offered String: [...]
> 
> >>>
> 
> >>> Imposing that classes should expose all information "relevant" (says
> 
> >>> who??) to hashing is utter rubbish IMNSHO.
> 
> >>
> 
> >> Objects that compare equal must hash to the same value.  It follows that
> 
> >> if the hash function uses a value, so must the comparison method.
> 
> >
> 
> >     Since java.lang.String had already been mentioned, it's sort
> 
> > of too bad you didn't look at it before posting.  Had you done so,
> 
> > you'd have found that [1] hashCode() uses the private field `hash'
> 
> > and [2] equals() does not.
> 
> 
> 
> If you want to play gotcha, it's sort of too bad you don't read this
> 
> newsgroup more often.  I pointed out the use of the private field some
> 
> time ago, when we were discussing immutable classes.
> 
> 
> 
> If you'd rather argue on the actual issues, a cached result is not extra
> 
> information.  The hashCode method in String doesn't return anything that
> can't be computed from publically available information.

But it does impose a need for the hash function to access a private method
so that it can return that value faster. Denying access to the private member
would kill that optimization, one that any type of immutable object might want 
to use.

That is the motivation for requiring access to private members.

Your anger is misplaced, as your recent post rejects that scenario, implying 
that the only reason to use private members in 'hashCode'-alikes is for 
calculation of the value.

-- 
Lew

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

hashCode bob smith <bob@coolfone.comze.com> - 2012-08-10 08:47 -0700
  Re: hashCode Arne Vajhøj <arne@vajhoej.dk> - 2012-08-10 12:13 -0400
    Re: hashCode markspace <-@.> - 2012-08-10 10:13 -0700
      Re: hashCode Arne Vajhøj <arne@vajhoej.dk> - 2012-08-10 13:38 -0400
        Re: hashCode rossum <rossum48@coldmail.com> - 2012-08-11 10:36 +0100
  Re: hashCode Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-08-10 12:34 -0400
    Re: hashCode bob smith <bob@coolfone.comze.com> - 2012-08-10 15:22 -0700
      Re: hashCode Lew <lewbloch@gmail.com> - 2012-08-10 15:32 -0700
        Re: hashCode Arne Vajhøj <arne@vajhoej.dk> - 2012-08-10 19:30 -0400
          Re: hashCode Lew <noone@lewscanon.com> - 2012-08-11 16:24 -0700
            Re: hashCode Arne Vajhøj <arne@vajhoej.dk> - 2012-08-11 22:15 -0400
              Re: hashCode Arne Vajhøj <arne@vajhoej.dk> - 2012-08-11 22:29 -0400
                Re: hashCode Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-08-11 22:43 -0400
                Re: hashCode Arne Vajhøj <arne@vajhoej.dk> - 2012-08-11 22:54 -0400
                Re: hashCode Lew <noone@lewscanon.com> - 2012-08-11 21:46 -0700
                Re: hashCode Arne Vajhøj <arne@vajhoej.dk> - 2012-08-12 16:53 -0400
                Re: hashCode Arne Vajhøj <arne@vajhoej.dk> - 2012-08-12 17:00 -0400
      Re: hashCode Arne Vajhøj <arne@vajhoej.dk> - 2012-08-10 19:27 -0400
        Re: hashCode Robert Klemme <shortcutter@googlemail.com> - 2012-08-12 17:06 +0200
          Re: hashCode Arne Vajhøj <arne@vajhoej.dk> - 2012-08-12 16:59 -0400
            Re: hashCode Robert Klemme <shortcutter@googlemail.com> - 2012-08-13 19:17 +0200
              Re: hashCode Arne Vajhøj <arne@vajhoej.dk> - 2012-08-19 19:42 -0400
                Re: hashCode Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2012-08-21 10:30 +0000
              Re: hashCode Arne Vajhøj <arne@vajhoej.dk> - 2012-08-19 19:47 -0400
                Re: hashCode Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2012-08-21 10:43 +0000
                Re: hashCode Arne Vajhøj <arne@vajhoej.dk> - 2012-08-27 19:04 -0400
                Re: hashCode Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-08-27 16:55 -0700
                Re: hashCode markspace <-@.> - 2012-08-27 17:03 -0700
                Re: hashCode Lew <lewbloch@gmail.com> - 2012-08-27 17:49 -0700
                Re: hashCode Arne Vajhøj <arne@vajhoej.dk> - 2012-08-27 21:37 -0400
                Re: hashCode Patricia Shanahan <pats@acm.org> - 2012-08-27 18:58 -0700
                Re: hashCode markspace <-@.> - 2012-08-27 21:19 -0700
                Re: hashCode Patricia Shanahan <pats@acm.org> - 2012-08-28 01:06 -0700
                Re: hashCode markspace <-@.> - 2012-08-28 09:19 -0700
                Re: hashCode Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-08-28 16:33 -0700
                Re: hashCode markspace <-@.> - 2012-08-28 17:02 -0700
                Re: hashCode Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-08-29 11:06 -0700
                Re: hashCode Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-08-29 14:49 -0400
                Re: hashCode Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-08-29 13:40 -0700
                Re: hashCode Gene Wirchenko <genew@ocis.net> - 2012-08-29 18:02 -0700
                Re: hashCode Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2012-08-31 00:52 +0200
                Re: hashCode Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-08-30 21:43 -0400
                Re: hashCode Arne Vajhøj <arne@vajhoej.dk> - 2012-08-30 21:52 -0400
                Re: hashCode Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2012-08-31 04:18 +0200
                Re: hashCode Jim Janney <jjanney@shell.xmission.com> - 2012-08-31 09:08 -0600
                Re: hashCode Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-08-31 11:38 -0400
                Re: hashCode Robert Klemme <shortcutter@googlemail.com> - 2012-08-31 17:55 +0200
                Re: hashCode Jim Janney <jjanney@shell.xmission.com> - 2012-08-31 09:56 -0600
                Re: hashCode Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-08-31 14:32 -0400
                Re: hashCode Jim Janney <jjanney@shell.xmission.com> - 2012-08-31 14:38 -0600
                Re: hashCode Lew <lewbloch@gmail.com> - 2012-08-31 15:33 -0700
                Re: hashCode Jim Janney <jjanney@shell.xmission.com> - 2012-08-31 16:41 -0600
                Re: hashCode Lew <lewbloch@gmail.com> - 2012-08-31 16:26 -0700
                Re: hashCode Jim Janney <jjanney@shell.xmission.com> - 2012-09-02 11:54 -0600
                Re: hashCode Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2012-09-03 00:47 +0200
                Re: hashCode Jim Janney <jjanney@shell.xmission.com> - 2012-09-03 21:44 -0600
                Re: hashCode Jim Janney <jjanney@shell.xmission.com> - 2012-08-31 09:08 -0600
                Re: hashCode Robert Klemme <shortcutter@googlemail.com> - 2012-08-31 17:58 +0200
                Re: hashCode markspace <-@.> - 2012-08-29 11:51 -0700
                Re: hashCode Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-08-29 13:28 -0700
                Re: hashCode markspace <-@.> - 2012-08-29 16:05 -0700
                Re: hashCode Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-08-29 16:23 -0700
                Re: hashCode Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-08-29 20:56 -0400
                Re: hashCode Jan Burse <janburse@fastmail.fm> - 2012-08-30 11:19 +0200
                Re: hashCode Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-08-30 10:03 -0700
                Re: hashCode Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2012-08-30 18:34 +0000
                Re: hashCode Jim Janney <jjanney@shell.xmission.com> - 2012-08-30 08:11 -0600
                Re: hashCode Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-08-30 10:06 -0700
                Re: hashCode Arne Vajhøj <arne@vajhoej.dk> - 2012-08-30 19:16 -0400
                Re: hashCode Lew <lewbloch@gmail.com> - 2012-08-28 13:58 -0700
                Re: hashCode Lew <lewbloch@gmail.com> - 2012-08-28 13:56 -0700
                Re: hashCode Patricia Shanahan <pats@acm.org> - 2012-08-28 14:07 -0700
                Re: hashCode Lew <lewbloch@gmail.com> - 2012-08-28 14:38 -0700
                Re: hashCode Arne Vajhøj <arne@vajhoej.dk> - 2012-08-27 21:12 -0400
      Re: hashCode Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-08-11 07:58 -0400
        Re: hashCode Lew <noone@lewscanon.com> - 2012-08-11 16:29 -0700
          Re: hashCode Arne Vajhøj <arne@vajhoej.dk> - 2012-08-11 22:16 -0400
      Re: hashCode Patricia Shanahan <pats@acm.org> - 2012-08-12 03:46 -0700
      Re: hashCode Joshua Cranmer <Pidgeot18@verizon.invalid> - 2012-08-12 12:23 -0400
        Re: hashCode Patricia Shanahan <pats@acm.org> - 2012-08-12 09:40 -0700
          Re: hashCode Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-08-12 13:59 -0400
            Re: hashCode Patricia Shanahan <pats@acm.org> - 2012-08-12 11:17 -0700
          Re: hashCode Arne Vajhøj <arne@vajhoej.dk> - 2012-08-12 17:02 -0400
        Re: hashCode Jan Burse <janburse@fastmail.fm> - 2012-08-12 19:03 +0200
  Re: hashCode Roedy Green <see_website@mindprod.com.invalid> - 2012-08-10 12:17 -0700
    Re: hashCode Lew <lewbloch@gmail.com> - 2012-08-10 12:45 -0700
      Re: hashCode Roedy Green <see_website@mindprod.com.invalid> - 2012-08-11 04:54 -0700
        Re: hashCode Joerg Meier <joergmmeier@arcor.de> - 2012-08-11 18:25 +0200
          Re: hashCode Mike Winter <usenet@michael-winter.me.invalid> - 2012-08-11 18:53 +0100
        Re: hashCode Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2012-08-11 09:56 -0700
        Re: hashCode Jan Burse <janburse@fastmail.fm> - 2012-08-11 18:58 +0200
        Re: hashCode Arne Vajhøj <arne@vajhoej.dk> - 2012-08-11 22:40 -0400
      Re: hashCode rossum <rossum48@coldmail.com> - 2012-08-11 18:47 +0100
    Re: hashCode Arne Vajhøj <arne@vajhoej.dk> - 2012-08-10 19:25 -0400
      Re: hashCode Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-08-11 08:00 -0400
        Re: hashCode Arne Vajhøj <arne@vajhoej.dk> - 2012-08-11 09:49 -0400
  Re: hashCode Jan Burse <janburse@fastmail.fm> - 2012-08-11 15:33 +0200
    Re: hashCode Jan Burse <janburse@fastmail.fm> - 2012-08-11 15:34 +0200
    Re: hashCode Lew <noone@lewscanon.com> - 2012-08-11 16:34 -0700
      Re: hashCode Lew <noone@lewscanon.com> - 2012-08-11 16:37 -0700
      Re: hashCode Arne Vajhøj <arne@vajhoej.dk> - 2012-08-11 22:19 -0400
        Re: hashCode Lew <noone@lewscanon.com> - 2012-08-11 21:48 -0700
    Re: hashCode Jan Burse <janburse@fastmail.fm> - 2012-08-12 12:08 +0200
      Re: hashCode Jan Burse <janburse@fastmail.fm> - 2012-08-12 12:18 +0200
      Re: hashCode Lew <noone@lewscanon.com> - 2012-08-12 11:27 -0700
        Re: hashCode Arne Vajhøj <arne@vajhoej.dk> - 2012-08-12 17:11 -0400

csiph-web