Interface Name

All Superinterfaces:
CharSequence

public interface Name extends CharSequence
An immutable sequence of characters. When created by the same implementation, objects implementing this interface must obey the general equals contract when compared with each other. Therefore, Name objects from the same implementation are usable in collections while Names from different implementations may not work properly in collections.

An empty Name has a length of zero.

In the context of annotation processing, the guarantees for "the same" implementation must include contexts where the API mediated side effects of processors could be visible to each other, including successive annotation processing rounds.

Since:
1.6
See Also:
  • Method Details

    • equals

      boolean equals(Object obj)
      Returns true if the argument represents the same name as this, and false otherwise.

      Note that the identity of a Name is a function both of its content in terms of a sequence of characters as well as the implementation which created it.

      Overrides:
      equals in class Object
      Parameters:
      obj - the object to be compared with this element
      Returns:
      true if the specified object represents the same name as this
      See Also:
    • hashCode

      int hashCode()
      Obeys the general contract of Object.hashCode.
      Overrides:
      hashCode in class Object
      Returns:
      a hash code value for this object.
      See Also:
    • contentEquals

      boolean contentEquals(CharSequence cs)
      Compares this name to the specified CharSequence. The result is true if and only if this name represents the same sequence of char values as the specified sequence.
      Parameters:
      cs - The sequence to compare this name against
      Returns:
      true if this name represents the same sequence of char values as the specified sequence, false otherwise
      See Also: