Class Equivalence.Wrapper<T extends @Nullable java.lang.Object>

  • All Implemented Interfaces:
    java.io.Serializable
    Enclosing class:
    Equivalence<T>

    public static final class Equivalence.Wrapper<T extends @Nullable java.lang.Object>
    extends java.lang.Object
    implements java.io.Serializable
    Wraps an object so that equals(Object) and hashCode() delegate to an Equivalence.

    For example, given an Equivalence for strings named equiv that tests equivalence using their lengths:

    
     equiv.wrap("a").equals(equiv.wrap("b")) // true
     equiv.wrap("a").equals(equiv.wrap("hello")) // false
     

    Note in particular that an equivalence wrapper is never equal to the object it wraps.

    
     equiv.wrap(obj).equals(obj) // always false
     
    Since:
    10.0
    See Also:
    Serialized Form
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object obj)
      Returns true if Equivalence.equivalent(Object, Object) applied to the wrapped references is true and both wrappers use the same equivalence.
      T get()
      Returns the (possibly null) reference wrapped by this instance.
      int hashCode()
      Returns the result of Equivalence.hash(Object) applied to the wrapped reference.
      java.lang.String toString()
      Returns a string representation for this equivalence wrapper.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Method Detail

      • get

        public T get()
        Returns the (possibly null) reference wrapped by this instance.
      • hashCode

        public int hashCode()
        Returns the result of Equivalence.hash(Object) applied to the wrapped reference.
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Returns a string representation for this equivalence wrapper. The form of this string representation is not specified.
        Overrides:
        toString in class java.lang.Object