On Sat, Apr 5, 2008 at 2:12 AM, Matthew Toseland
<toad at amphibian.dyndns.org> wrote:
> On Friday 04 April 2008 06:25, you wrote:
> > Author: nextgens
> > Date: 2008-04-04 05:25:41 +0000 (Fri, 04 Apr 2008)
> > New Revision: 18968
> >
> > Modified:
> > trunk/freenet/src/freenet/crypt/DSAPublicKey.java
> > Log:
> > implement DSAPublicKey.hashCode()
> >
> > Modified: trunk/freenet/src/freenet/crypt/DSAPublicKey.java
> > ===================================================================
> > --- trunk/freenet/src/freenet/crypt/DSAPublicKey.java 2008-04-04 05:21:19
> UTC (rev 18967)
> > +++ trunk/freenet/src/freenet/crypt/DSAPublicKey.java 2008-04-04 05:25:41
> UTC (rev 18968)
> > @@ -163,6 +163,13 @@
> > return y.equals(o.y) && group.equals(o.group);
> > }
> >
> > + public int hashCode() {
> > + int hash = 5;
> > + hash = 61 * hash + (this.y != null ? this.y.hashCode() : 0);
> > + hash = 61 * hash + (this.group != null ?
> > this.group.hashCode() : 0);
> > + return hash;
> > + }
>
> Arcane maths should really be justified in comments! Is this something you
> just made up or is there a reason for not just returning the xor of y and
> group's hash codes? Also, in what cases can they be null anyway? If they
> cease to be null, the hash code would change ... but aren't they final?
I guess these are generated by IDE.
This is the standard pattern in the "Effective Java " book.
> > +
> > public boolean equals(Object o) {
> > if(this == o) // Not necessary, but a very cheap optimization
> > return true;
>
> _______________________________________________
> Devl mailing list
> Devl at freenetproject.org
> http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl
>