Class 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 Detail

      • array

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

      • 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 Detail

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

        public int hashCode()
        Overrides:
        hashCode in class Object