# Package java.text

package java.text
Provides classes and interfaces for handling text, dates, numbers, and messages in a manner independent of natural languages. This means an application or library can be written to be language-independent, and it can rely upon separate, dynamically-linked localized resources. This allows the flexibility of adding localizations for new localizations at any time.

These classes are capable of formatting dates, numbers, and messages, parsing; searching and sorting strings; and iterating over characters, words, sentences, and line breaks. This package contains three main groups of classes and interfaces:

- Classes for iteration over text
- Classes for formatting and parsing
- Classes for string collation

Since:
  1.1

- Related Packages
  Package
  Description
  java.text.spi
  Service provider classes for the classes in the java.text package.
- Class
  Description
  Annotation
  An Annotation object is used as a wrapper for a text attribute value if the attribute has annotation characteristics.
  AttributedCharacterIterator
  An `AttributedCharacterIterator` allows iteration through both text and related attribute information.
  AttributedCharacterIterator.Attribute
  Defines attribute keys that are used to identify text attributes.
  AttributedString
  An AttributedString holds text and related attribute information.
  Bidi
  This class implements the Unicode Bidirectional Algorithm.
  BreakIterator
  The `BreakIterator` class implements methods for finding the location of boundaries in text.
  CharacterIterator
  This interface defines a protocol for bidirectional iteration over text.
  ChoiceFormat
  `ChoiceFormat` is a concrete subclass of `NumberFormat` that allows you to attach a format to a range of numbers.
  CollationElementIterator
  The `CollationElementIterator` class is used as an iterator to walk through each character of an international string.
  CollationKey
  A `CollationKey` represents a `String` under the rules of a specific `Collator` object.
  Collator
  The `Collator` class performs locale-sensitive `String` comparison.
  CompactNumberFormat
  `CompactNumberFormat` is a concrete subclass of `NumberFormat` that formats a decimal number in a localized compact form.
  DateFormat
  `DateFormat` is an abstract class for date/time formatting subclasses which formats and parses dates or time in a language-independent manner.
  DateFormat.Field
  Defines constants that are used as attribute keys in the `AttributedCharacterIterator` returned from `DateFormat.formatToCharacterIterator` and as field identifiers in `FieldPosition`.
  DateFormatSymbols
  `DateFormatSymbols` is a public class for encapsulating localizable date-time formatting data, such as the names of the months, the names of the days of the week, and the time zone data.
  DecimalFormat
  `DecimalFormat` is a concrete subclass of `NumberFormat` that formats decimal numbers in a localized manner.
  DecimalFormatSymbols
  This class represents the set of symbols (such as the decimal separator, the grouping separator, and so on) needed by `DecimalFormat` to format numbers.
  FieldPosition
  `FieldPosition` is a simple class used by `Format` and its subclasses to identify fields in formatted output.
  Format
  `Format` is an abstract base class for formatting locale-sensitive information such as dates, messages, numbers, and lists.
  Format.Field
  Defines constants that are used as attribute keys in the `AttributedCharacterIterator` returned from `Format.formatToCharacterIterator` and as field identifiers in `FieldPosition`.
  ListFormat
  `ListFormat` formats or parses a list of strings in a locale-sensitive way.
  ListFormat.Style
  A ListFormat style - `FULL`, `SHORT`, and `NARROW`.
  ListFormat.Type
  A ListFormat type - `STANDARD`, `OR`, and `UNIT`.
  MessageFormat
  `MessageFormat` provides a means to produce concatenated messages in a language-neutral way.
  MessageFormat.Field
  Defines constants that are used as attribute keys in the `AttributedCharacterIterator` returned from `MessageFormat.formatToCharacterIterator`.
  Normalizer
  This class provides the method `normalize` which transforms Unicode text into an equivalent composed or decomposed form, allowing for easier sorting and searching of text.
  Normalizer.Form
  This enum provides constants of the four Unicode normalization forms that are described in Unicode Standard Annex #15 — Unicode Normalization Forms and two methods to access them.
  NumberFormat
  `NumberFormat` is the abstract base class for all number formats.
  NumberFormat.Field
  Defines constants that are used as attribute keys in the `AttributedCharacterIterator` returned from `NumberFormat.formatToCharacterIterator` and as field identifiers in `FieldPosition`.
  NumberFormat.Style
  A number format style.
  ParseException
  Signals that an error has been reached unexpectedly while parsing.
  ParsePosition
  `ParsePosition` is a simple class used by `Format` and its subclasses to keep track of the current position during parsing.
  RuleBasedCollator
  The `RuleBasedCollator` class is a concrete subclass of `Collator` that provides a simple, data-driven, table collator.
  SimpleDateFormat
  `SimpleDateFormat` is a concrete class for formatting and parsing dates in a locale-sensitive manner.
  StringCharacterIterator
  `StringCharacterIterator` implements the `CharacterIterator` protocol for a `String`.