Class Equivalence.Wrapper<T extends @Nullable Object>

java.lang.Object
com.google.common.base.Equivalence.Wrapper<T>
All Implemented Interfaces:
Serializable
Enclosing class:
Equivalence<T>

public static final class Equivalence.Wrapper<T extends @Nullable Object> extends Object implements 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
Author:
Bob Lee, Ben Yu, Gregory Kick
See Also:
  • Method Details

    • get

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

      public boolean equals(@Nullable Object obj)
      Returns true if Equivalence.equivalent(Object, Object) applied to the wrapped references is true and both wrappers use the same equivalence.
      Overrides:
      equals in class Object
    • hashCode

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

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