[jboss-cvs] JBossCache/src-50/org/jboss/cache/pojo/collection ...

Ben Wang bwang at jboss.com
Sun Sep 17 03:42:18 EDT 2006


  User: bwang   
  Date: 06/09/17 03:42:18

  Modified:    src-50/org/jboss/cache/pojo/collection 
                        CachedListAbstract.java
  Log:
  JIRA JBCACHE-765 Collection equals
  
  Revision  Changes    Path
  1.5       +9 -9      JBossCache/src-50/org/jboss/cache/pojo/collection/CachedListAbstract.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: CachedListAbstract.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/src-50/org/jboss/cache/pojo/collection/CachedListAbstract.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -b -r1.4 -r1.5
  --- CachedListAbstract.java	2 Aug 2006 15:40:24 -0000	1.4
  +++ CachedListAbstract.java	17 Sep 2006 07:42:18 -0000	1.5
  @@ -128,11 +128,10 @@
   
      public int hashCode()
      {
  -      int result = 0;
  -      for (int i = 0; i < size(); i++)
  -      {
  +      int result = 1;
  +      for (int i =0; i < size(); i++) {
            Object o = get(i);
  -         result += (o == null ? 0 : o.hashCode());
  +         result = 31 * result + (o == null ? 0 : o.hashCode());
         }
         return result;
      }
  @@ -141,15 +140,16 @@
      {
         if (object == this)
            return true;
  -      if (!(object instanceof List))
  +      if (object == null || !(object instanceof List))
            return false;
         List list = (List) object;
         if (size() != list.size())
            return false;
  -      for (int i = 0; i < list.size(); i++)
  -      {
  -         Object value = list.get(i);
  -         if (!contains(value))
  +      for (int i=0; i < list.size(); i++) {
  +         Object value1 = get(i);
  +         Object value2 = list.get(i);
  +         if( (value1 == null && value2 != null) ||
  +                 (value1 != null && !(value1.equals(value2))))
               return false;
         }
         return true;
  
  
  



More information about the jboss-cvs-commits mailing list