Name (Java Platform SE 8 )
Keywords: javax.lang.model.element.Name interface
Date: 2026-01-21

compact3
javax.lang.model.element

## 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 `Name`s 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:
    `Elements.getName(java.lang.CharSequence)`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `contentEquals(CharSequence cs)` Compares this name to the specified `CharSequence`.
    `boolean` | `equals(Object obj)` Returns `true` if the argument represents the same name as `this`, and `false` otherwise.
    `int` | `hashCode()` Obeys the general contract of `Object.hashCode`.

    - ### Methods inherited from interface java.lang.CharSequence

      `charAt, chars, codePoints, length, subSequence, toString`

- - ### Method Detail

    - #### 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:
        `Element.equals(java.lang.Object)`

    - #### 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:
        `equals(java.lang.Object)`

    - #### 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:
        `String.contentEquals(CharSequence)`

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.