[jboss-svn-commits] JBL Code SVN: r36135 - labs/jbossrules/trunk/drools-core/src/main/java/org/drools/io/impl.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Dec 1 04:09:49 EST 2010


Author: ge0ffrey
Date: 2010-12-01 04:09:49 -0500 (Wed, 01 Dec 2010)
New Revision: 36135

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/io/impl/ByteArrayResource.java
Log:
improve hashcode: byte[].class.hashCode() is a very poor hash + if you use Arrays.equals in equals(), use Arrays.hashCode() in hashCode() + javancss site report crashes on byte[].class

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/io/impl/ByteArrayResource.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/io/impl/ByteArrayResource.java	2010-12-01 06:36:10 UTC (rev 36134)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/io/impl/ByteArrayResource.java	2010-12-01 09:09:49 UTC (rev 36135)
@@ -81,19 +81,16 @@
     }      
 
     public boolean equals(Object object) {
-        return (object == this || (object instanceof ByteArrayResource && Arrays.equals( ((ByteArrayResource) object).bytes,
-                                                                                         this.bytes )));
+        return (object == this || (object instanceof ByteArrayResource
+                && Arrays.equals( ((ByteArrayResource) object).bytes, this.bytes )));
     }
 
     public int hashCode() {
-        return (byte[].class.hashCode() * 29 * this.bytes.length);
+        return Arrays.hashCode(this.bytes);
     }
     
     public String toString() {
         return "[ByteArrayResource resource=" + this.bytes + "]";
     }
 
-
-
-
 }



More information about the jboss-svn-commits mailing list