Class ArrayTools.ArrayWrapper<T>

java.lang.Object
de.aristaflow.adept2.util.ArrayTools.ArrayWrapper<T>
Type Parameters:
T - The type of an element of the array.
Enclosing class:
ArrayTools

public static class ArrayTools.ArrayWrapper<T> extends Object
A wrapper for arrays that provide a useful (i. e. deep) equals(Object), hashCode() and toString().
Equality requires the objects to be compared to be ArrayWrapper. Only then the arrays will be unwrapped and compared. Comparing an ArrayWrapper with a normal array will yield false.
  • Field Details

    • array

      protected final T[] array
      The wrapped array.
  • Constructor Details

    • ArrayWrapper

      public ArrayWrapper(T[] array)
      Creates a new wrapped array for designated array. This does not clone the array, so beware of side-effects! Changing elements of the array will also change the implemented hashCode() and equals(Object).
      Parameters:
      array - The array to be wrapped. This does not clone the array, so beware of side-effects!
  • Method Details

    • getArray

      public T[] getArray()
      Gets the wrapped array. This is not a clone, so beware of side-effects! Changing elements of the array will also change the implemented hashCode() and equals(Object).
      Returns:
      The wrapped array. This is not a clone, so beware of side-effects!
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object