Module java.base
Package java.text

## Class FieldPosition

- java.lang.Object
- - java.text.FieldPosition

-     public class FieldPosition
      extends Object

  `FieldPosition` is a simple class used by `Format` and its subclasses to identify fields in formatted output. Fields can be identified in two ways:
  - By an integer constant, whose names typically end with `_FIELD`. The constants are defined in the various subclasses of `Format`.
  - By a `Format.Field` constant, see `ERA_FIELD` and its friends in `DateFormat` for an example.

  `FieldPosition` keeps track of the position of the field within the formatted output with two indices: the index of the first character of the field and the index of the last character of the field.

  One version of the `format` method in the various `Format` classes requires a `FieldPosition` object as an argument. You use this `format` method to perform partial formatting or to get information about the formatted output (such as the position of a field).

  If you are interested in the positions of all attributes in the formatted string use the `Format` method `formatToCharacterIterator`.

  Since:
    1.1
  See Also:
    `Format`

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `FieldPosition​(int field)` | Creates a FieldPosition object for the given field.
    `FieldPosition​(Format.Field attribute)` | Creates a FieldPosition object for the given field constant.
    `FieldPosition​(Format.Field attribute, int fieldID)` | Creates a `FieldPosition` object for the given field.

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `equals​(Object obj)` | Overrides equals
    `int` | `getBeginIndex()` | Retrieves the index of the first character in the requested field.
    `int` | `getEndIndex()` | Retrieves the index of the character following the last character in the requested field.
    `int` | `getField()` | Retrieves the field identifier.
    `Format.Field` | `getFieldAttribute()` | Returns the field identifier as an attribute constant from one of the `Field` subclasses.
    `int` | `hashCode()` | Returns a hash code for this FieldPosition.
    `void` | `setBeginIndex​(int bi)` | Sets the begin index.
    `void` | `setEndIndex​(int ei)` | Sets the end index.
    `String` | `toString()` | Return a string representation of this FieldPosition.

    - ### Methods declared in class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### FieldPosition

          public FieldPosition​(int field)

      Creates a FieldPosition object for the given field. Fields are identified by constants, whose names typically end with _FIELD, in the various subclasses of Format.
      Parameters:
        `field` - the field identifier
      See Also:
        `NumberFormat.INTEGER_FIELD`, `NumberFormat.FRACTION_FIELD`, `DateFormat.YEAR_FIELD`, `DateFormat.MONTH_FIELD`

    - #### FieldPosition

          public FieldPosition​(Format.Field attribute)

      Creates a FieldPosition object for the given field constant. Fields are identified by constants defined in the various `Format` subclasses. This is equivalent to calling `new FieldPosition(attribute, -1)`.
      Parameters:
        `attribute` - Format.Field constant identifying a field
      Since:
        1.4

    - #### FieldPosition

          public FieldPosition​(Format.Field attribute,
                               int fieldID)

      Creates a `FieldPosition` object for the given field. The field is identified by an attribute constant from one of the `Field` subclasses as well as an integer field ID defined by the `Format` subclasses. `Format` subclasses that are aware of `Field` should give precedence to `attribute` and ignore `fieldID` if `attribute` is not null. However, older `Format` subclasses may not be aware of `Field` and rely on `fieldID`. If the field has no corresponding integer constant, `fieldID` should be -1.
      Parameters:
        `attribute` - Format.Field constant identifying a field
        `fieldID` - integer constant identifying a field
      Since:
        1.4

  - ### Method Detail

    - #### getFieldAttribute

          public Format.Field getFieldAttribute()

      Returns the field identifier as an attribute constant from one of the `Field` subclasses. May return null if the field is specified only by an integer field ID.
      Returns:
        Identifier for the field
      Since:
        1.4

    - #### getField

          public int getField()

      Retrieves the field identifier.
      Returns:
        the field identifier

    - #### getBeginIndex

          public int getBeginIndex()

      Retrieves the index of the first character in the requested field.
      Returns:
        the begin index

    - #### getEndIndex

          public int getEndIndex()

      Retrieves the index of the character following the last character in the requested field.
      Returns:
        the end index

    - #### setBeginIndex

          public void setBeginIndex​(int bi)

      Sets the begin index. For use by subclasses of Format.
      Parameters:
        `bi` - the begin index
      Since:
        1.2

    - #### setEndIndex

          public void setEndIndex​(int ei)

      Sets the end index. For use by subclasses of Format.
      Parameters:
        `ei` - the end index
      Since:
        1.2

    - #### equals

          public boolean equals​(Object obj)

      Overrides equals
      Overrides:
        `equals` in class `Object`
      Parameters:
        `obj` - the reference object with which to compare.
      Returns:
        `true` if this object is the same as the obj argument; `false` otherwise.
      See Also:
        `Object.hashCode()`, `HashMap`

    - #### hashCode

          public int hashCode()

      Returns a hash code for this FieldPosition.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        a hash code value for this object
      See Also:
        `Object.equals(java.lang.Object)`, `System.identityHashCode(java.lang.Object)`

    - #### toString

          public String toString()

      Return a string representation of this FieldPosition.
      Overrides:
        `toString` in class `Object`
      Returns:
        a string representation of this object