public static int arrayHashCode(Object array) {
    if (array == null) {
      return 0;
    }
    IType arrayType = TypeSystem.getFromObject(array);
    int iLen = arrayType.getArrayLength(array);
    int hashCode = 0;
    for (int i = 0; i < iLen; i++) {
      Object value = arrayType.getArrayComponent(array, i);
      if (value != null) {
        IType valueType = TypeSystem.getFromObject(value);
        if (valueType.isArray()) {
          hashCode = 31 * hashCode + hashCode(value);
        } else {
          hashCode = 31 * hashCode + value.hashCode();
        }
      }
    }
    return hashCode * 31 + iLen;
  }
public static int arrayHashCode ( Object array ) { if ( array == null ) { return 0 ; } IType arrayType = TypeSystem . getFromObject ( array ) ; int iLen = arrayType . getArrayLength ( array ) ; int hashCode = 0 ; for ( int i = 0 ; i < iLen ; i ++ ) { Object value = arrayType . getArrayComponent ( array , i ) ; if ( value != null ) { IType valueType = TypeSystem . getFromObject ( value ) ; if ( valueType . isArray ( ) ) { hashCode = 31 * hashCode + hashCode ( value ) ; } else { hashCode = 31 * hashCode + value . hashCode ( ) ; } } } return hashCode * 31 + iLen ; }
Return the hash code for an array

@param array the array to compute the hash code.