* Matthew Toseland <[EMAIL PROTECTED]> [2008-04-04 19:12:05]:

> 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!

It's a standard pattern

> 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?

I could have done that but I haven't :)

> 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?

The spec says they can be null (in equals as well, fixed in r19001)

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Devl mailing list
Devl@freenetproject.org
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to