Class DecimalFormatSymbols

java.lang.Object
com.ibm.icu.text.DecimalFormatSymbols
All Implemented Interfaces:
Serializable, Cloneable

public class DecimalFormatSymbols extends Object implements Cloneable, Serializable
[icu enhancement] ICU's replacement for java.text.DecimalFormatSymbols. Methods, fields, and other functionality specific to ICU are labeled '[icu]'.

This class represents the set of symbols (such as the decimal separator, the grouping separator, and so on) needed by DecimalFormat to format numbers. DecimalFormat creates for itself an instance of DecimalFormatSymbols from its locale data. If you need to change any of these symbols, you can get the DecimalFormatSymbols object from your DecimalFormat and modify it.

Author:
Mark Davis, Alan Liu
See Also:
Status:
Stable ICU 2.0.
  • Field Details

  • Constructor Details

    • DecimalFormatSymbols

      public DecimalFormatSymbols()
      Creates a DecimalFormatSymbols object for the default FORMAT locale.
      See Also:
      Status:
      Stable ICU 2.0.
    • DecimalFormatSymbols

      public DecimalFormatSymbols(Locale locale)
      Creates a DecimalFormatSymbols object for the given locale.
      Parameters:
      locale - the locale
      Status:
      Stable ICU 2.0.
    • DecimalFormatSymbols

      public DecimalFormatSymbols(ULocale locale)
      [icu] Creates a DecimalFormatSymbols object for the given locale.
      Parameters:
      locale - the locale
      Status:
      Stable ICU 3.2.
  • Method Details

    • getInstance

      public static DecimalFormatSymbols getInstance()
      Returns a DecimalFormatSymbols instance for the default locale.

      Note: Unlike java.text.DecimalFormatSymbols#getInstance, this method simply returns new com.ibm.icu.text.DecimalFormatSymbols(). ICU currently does not support DecimalFormatSymbolsProvider, which was introduced in Java 6.

      Returns:
      A DecimalFormatSymbols instance.
      Status:
      Stable ICU 3.8.
    • getInstance

      public static DecimalFormatSymbols getInstance(Locale locale)
      Returns a DecimalFormatSymbols instance for the given locale.

      Note: Unlike java.text.DecimalFormatSymbols#getInstance, this method simply returns new com.ibm.icu.text.DecimalFormatSymbols(locale). ICU currently does not support DecimalFormatSymbolsProvider, which was introduced in Java 6.

      Parameters:
      locale - the locale.
      Returns:
      A DecimalFormatSymbols instance.
      Status:
      Stable ICU 3.8.
    • getInstance

      public static DecimalFormatSymbols getInstance(ULocale locale)
      Returns a DecimalFormatSymbols instance for the given locale.

      Note: Unlike java.text.DecimalFormatSymbols#getInstance, this method simply returns new com.ibm.icu.text.DecimalFormatSymbols(locale). ICU currently does not support DecimalFormatSymbolsProvider, which was introduced in Java 6.

      Parameters:
      locale - the locale.
      Returns:
      A DecimalFormatSymbols instance.
      Status:
      Stable ICU 3.8.
    • forNumberingSystem

      public static DecimalFormatSymbols forNumberingSystem(Locale locale, NumberingSystem ns)
      [icu] Returns a DecimalFormatSymbols instance for the given locale with digits and symbols corresponding to the given NumberingSystem.

      This method behaves equivalently to getInstance() called with a locale having a "numbers=xxxx" keyword specifying the numbering system by name.

      In this method, the NumberingSystem argument will be used even if the locale has its own "numbers=xxxx" keyword.

      Parameters:
      locale - the locale.
      ns - the numbering system.
      Returns:
      A DecimalFormatSymbols instance.
      Status:
      Stable ICU 60.
    • forNumberingSystem

      public static DecimalFormatSymbols forNumberingSystem(ULocale locale, NumberingSystem ns)
      [icu] Returns a DecimalFormatSymbols instance for the given locale with digits and symbols corresponding to the given NumberingSystem.

      This method behaves equivalently to getInstance() called with a locale having a "numbers=xxxx" keyword specifying the numbering system by name.

      In this method, the NumberingSystem argument will be used even if the locale has its own "numbers=xxxx" keyword.

      Parameters:
      locale - the locale.
      ns - the numbering system.
      Returns:
      A DecimalFormatSymbols instance.
      Status:
      Stable ICU 60.
    • getAvailableLocales

      public static Locale[] getAvailableLocales()
      Returns an array of all locales for which the getInstance methods of this class can return localized instances.

      Note: Unlike java.text.DecimalFormatSymbols#getAvailableLocales , this method simply returns the array of Locales available for this class. ICU currently does not support DecimalFormatSymbolsProvider, which was introduced in Java 6.

      Returns:
      An array of Locales for which localized DecimalFormatSymbols instances are available.
      Status:
      Stable ICU 3.8.
    • getAvailableULocales

      public static ULocale[] getAvailableULocales()
      [icu] Returns an array of all locales for which the getInstance methods of this class can return localized instances.

      Note: Unlike java.text.DecimalFormatSymbols#getAvailableLocales , this method simply returns the array of ULocales available in this class. ICU currently does not support DecimalFormatSymbolsProvider, which was introduced in Java 6.

      Returns:
      An array of ULocales for which localized DecimalFormatSymbols instances are available.
      Status:
      Stable ICU 3.8 (retain).
    • getZeroDigit

      public char getZeroDigit()
      Returns the character used for zero. Different for Arabic, etc.
      Returns:
      the character
      Discouraged:
      ICU 58 use
      Status:
      Stable ICU 2.0.
    • getDigits

      public char[] getDigits()
      Returns the array of characters used as digits, in order from 0 through 9
      Returns:
      The array
      See Also:
      Discouraged:
      ICU 58 use
      Status:
      Stable ICU 4.6.
    • setZeroDigit

      public void setZeroDigit(char zeroDigit)
      Sets the character used for zero.

      Note: This method propagates digit 1 to digit 9 by incrementing code point one by one.

      Parameters:
      zeroDigit - the zero character.
      Discouraged:
      ICU 58 use
      Status:
      Stable ICU 2.0.
    • getDigitStrings

      public String[] getDigitStrings()
      [icu] Returns the array of strings used as digits, in order from 0 through 9
      Returns:
      The array of ten digit strings
      See Also:
      Status:
      Stable ICU 58.
    • getDigitStringsLocal

      @Deprecated public String[] getDigitStringsLocal()
      Deprecated.
      This API is ICU internal only.
      Returns the array of strings used as digits, in order from 0 through 9 Package private method - doesn't create a defensively copy.

      WARNING: Mutating the returned array will cause undefined behavior. If you need to change the value of the array, use getDigitStrings() and setDigitStrings(String[]) instead.

      Returns:
      the array of digit strings
      Status:
      Internal. This API is ICU internal only.
    • getCodePointZero

      @Deprecated public int getCodePointZero()
      Deprecated.
      This API is ICU internal only.
      If the digit strings array corresponds to a sequence of increasing code points, this method returns the code point corresponding to the first entry in the digit strings array. If the digit strings array is not a sequence of increasing code points, returns -1.
      Status:
      Internal. This API is ICU internal only.
    • setDigitStrings

      public void setDigitStrings(String[] digitStrings)
      [icu] Sets the array of strings used as digits, in order from 0 through 9

      Note:

      When the input array of digit strings contains any strings represented by multiple Java chars, then getDigits() will return the default digits ('0' - '9') and getZeroDigit() will return the default zero digit ('0').

      Parameters:
      digitStrings - The array of digit strings. The length of the array must be exactly 10.
      Throws:
      NullPointerException - if the digitStrings is null.
      IllegalArgumentException - if the length of the array is not 10.
      See Also:
      Status:
      Stable ICU 58.
    • getSignificantDigit

      public char getSignificantDigit()
      Returns the character used to represent a significant digit in a pattern.
      Returns:
      the significant digit pattern character
      Status:
      Stable ICU 3.0.
    • setSignificantDigit

      public void setSignificantDigit(char sigDigit)
      Sets the character used to represent a significant digit in a pattern.
      Parameters:
      sigDigit - the significant digit pattern character
      Status:
      Stable ICU 3.0.
    • getGroupingSeparator

      public char getGroupingSeparator()
      Returns the character used for grouping separator. Different for French, etc.
      Returns:
      the thousands character
      Discouraged:
      ICU 58 use
      Status:
      Stable ICU 2.0.
    • setGroupingSeparator

      public void setGroupingSeparator(char groupingSeparator)
      Sets the character used for grouping separator. Different for French, etc.
      Parameters:
      groupingSeparator - the thousands character
      See Also:
      Status:
      Stable ICU 2.0.
    • getGroupingSeparatorString

      public String getGroupingSeparatorString()
      [icu] Returns the string used for grouping separator. Different for French, etc.
      Returns:
      the grouping separator string
      See Also:
      Status:
      Stable ICU 58.
    • setGroupingSeparatorString

      public void setGroupingSeparatorString(String groupingSeparatorString)
      [icu] Sets the string used for grouping separator.

      Note: When the input grouping separator String is represented by multiple Java chars, then getGroupingSeparator() will return the default grouping separator character (',').

      Parameters:
      groupingSeparatorString - the grouping separator string
      Throws:
      NullPointerException - if groupingSeparatorString is null.
      See Also:
      Status:
      Stable ICU 58.
    • getDecimalSeparator

      public char getDecimalSeparator()
      Returns the character used for decimal sign. Different for French, etc.
      Returns:
      the decimal character
      Discouraged:
      ICU 58 use
      Status:
      Stable ICU 2.0.
    • setDecimalSeparator

      public void setDecimalSeparator(char decimalSeparator)
      Sets the character used for decimal sign. Different for French, etc.
      Parameters:
      decimalSeparator - the decimal character
      Status:
      Stable ICU 2.0.
    • getDecimalSeparatorString

      public String getDecimalSeparatorString()
      [icu] Returns the string used for decimal sign.
      Returns:
      the decimal sign string
      See Also:
      Status:
      Stable ICU 58.
    • setDecimalSeparatorString

      public void setDecimalSeparatorString(String decimalSeparatorString)
      [icu] Sets the string used for decimal sign.

      Note: When the input decimal separator String is represented by multiple Java chars, then getDecimalSeparator() will return the default decimal separator character ('.').

      Parameters:
      decimalSeparatorString - the decimal sign string
      Throws:
      NullPointerException - if decimalSeparatorString is null.
      See Also:
      Status:
      Stable ICU 58.
    • getPerMill

      public char getPerMill()
      Returns the character used for mille percent sign. Different for Arabic, etc.
      Returns:
      the mille percent character
      Discouraged:
      ICU 58 use
      Status:
      Stable ICU 2.0.
    • setPerMill

      public void setPerMill(char perMill)
      Sets the character used for mille percent sign. Different for Arabic, etc.
      Parameters:
      perMill - the mille percent character
      Status:
      Stable ICU 2.0.
    • getPerMillString

      public String getPerMillString()
      [icu] Returns the string used for permille sign.
      Returns:
      the permille string
      See Also:
      Status:
      Stable ICU 58.
    • setPerMillString

      public void setPerMillString(String perMillString)
      [icu] Sets the string used for permille sign.

      Note: When the input permille String is represented by multiple Java chars, then getPerMill() will return the default permille character ('‰').

      Parameters:
      perMillString - the permille string
      Throws:
      NullPointerException - if perMillString is null.
      See Also:
      Status:
      Stable ICU 58.
    • getPercent

      public char getPercent()
      Returns the character used for percent sign. Different for Arabic, etc.
      Returns:
      the percent character
      Discouraged:
      ICU 58 use
      Status:
      Stable ICU 2.0.
    • setPercent

      public void setPercent(char percent)
      Sets the character used for percent sign. Different for Arabic, etc.
      Parameters:
      percent - the percent character
      Status:
      Stable ICU 2.0.
    • getPercentString

      public String getPercentString()
      [icu] Returns the string used for percent sign.
      Returns:
      the percent string
      See Also:
      Status:
      Stable ICU 58.
    • setPercentString

      public void setPercentString(String percentString)
      [icu] Sets the string used for percent sign.

      Note: When the input grouping separator String is represented by multiple Java chars, then getPercent() will return the default percent sign character ('%').

      Parameters:
      percentString - the percent string
      Throws:
      NullPointerException - if percentString is null.
      See Also:
      Status:
      Stable ICU 58.
    • getDigit

      public char getDigit()
      Returns the character used for a digit in a pattern.
      Returns:
      the digit pattern character
      Status:
      Stable ICU 2.0.
    • setDigit

      public void setDigit(char digit)
      Sets the character used for a digit in a pattern.
      Parameters:
      digit - the digit pattern character
      Status:
      Stable ICU 2.0.
    • getPatternSeparator

      public char getPatternSeparator()
      Returns the character used to separate positive and negative subpatterns in a pattern.
      Returns:
      the pattern separator character
      Status:
      Stable ICU 2.0.
    • setPatternSeparator

      public void setPatternSeparator(char patternSeparator)
      Sets the character used to separate positive and negative subpatterns in a pattern.
      Parameters:
      patternSeparator - the pattern separator character
      Status:
      Stable ICU 2.0.
    • getInfinity

      public String getInfinity()
      Returns the String used to represent infinity. Almost always left unchanged.
      Returns:
      the Infinity string
      Status:
      Stable ICU 2.0.
    • setInfinity

      public void setInfinity(String infinity)
      Sets the String used to represent infinity. Almost always left unchanged.
      Parameters:
      infinity - the Infinity String
      Status:
      Stable ICU 2.0.
    • getNaN

      public String getNaN()
      Returns the String used to represent NaN. Almost always left unchanged.
      Returns:
      the NaN String
      Status:
      Stable ICU 2.0.
    • setNaN

      public void setNaN(String NaN)
      Sets the String used to represent NaN. Almost always left unchanged.
      Parameters:
      NaN - the NaN String
      Status:
      Stable ICU 2.0.
    • getMinusSign

      public char getMinusSign()
      Returns the character used to represent minus sign. If no explicit negative format is specified, one is formed by prefixing minusSign to the positive format.
      Returns:
      the minus sign character
      Discouraged:
      ICU 58 use
      Status:
      Stable ICU 2.0.
    • setMinusSign

      public void setMinusSign(char minusSign)
      Sets the character used to represent minus sign. If no explicit negative format is specified, one is formed by prefixing minusSign to the positive format.
      Parameters:
      minusSign - the minus sign character
      Status:
      Stable ICU 2.0.
    • getMinusSignString

      public String getMinusSignString()
      [icu] Returns the string used to represent minus sign.
      Returns:
      the minus sign string
      See Also:
      Status:
      Stable ICU 58.
    • setMinusSignString

      public void setMinusSignString(String minusSignString)
      [icu] Sets the string used to represent minus sign.

      Note: When the input minus sign String is represented by multiple Java chars, then getMinusSign() will return the default minus sign character ('-').

      Parameters:
      minusSignString - the minus sign string
      Throws:
      NullPointerException - if minusSignString is null.
      See Also:
      Status:
      Stable ICU 58.
    • getPlusSign

      public char getPlusSign()
      [icu] Returns the localized plus sign.
      Returns:
      the plus sign, used in localized patterns and formatted strings
      See Also:
      Discouraged:
      ICU 58 use
      Status:
      Stable ICU 2.0.
    • setPlusSign

      public void setPlusSign(char plus)
      [icu] Sets the localized plus sign.
      Parameters:
      plus - the plus sign, used in localized patterns and formatted strings
      See Also:
      Status:
      Stable ICU 2.0.
    • getPlusSignString

      public String getPlusSignString()
      [icu] Returns the string used to represent plus sign.
      Returns:
      the plus sign string
      Status:
      Stable ICU 58.
    • setPlusSignString

      public void setPlusSignString(String plusSignString)
      [icu] Sets the localized plus sign string.

      Note: When the input plus sign String is represented by multiple Java chars, then getPlusSign() will return the default plus sign character ('+').

      Parameters:
      plusSignString - the plus sign string, used in localized patterns and formatted strings
      Throws:
      NullPointerException - if plusSignString is null.
      See Also:
      Status:
      Stable ICU 58.
    • getApproximatelySignString

      @Deprecated public String getApproximatelySignString()
      Deprecated.
      This API is for technology preview only.
      Status:
      Technology Preview. This API is still in the early stages of development. Use at your own risk.
    • setApproximatelySignString

      @Deprecated public void setApproximatelySignString(String approximatelySignString)
      Deprecated.
      This API is for technology preview only.
      Status:
      Technology Preview. This API is still in the early stages of development. Use at your own risk.
    • getCurrencySymbol

      public String getCurrencySymbol()
      Returns the string denoting the local currency.
      Returns:
      the local currency String.
      Status:
      Stable ICU 2.0.
    • setCurrencySymbol

      public void setCurrencySymbol(String currency)
      Sets the string denoting the local currency.
      Parameters:
      currency - the local currency String.
      Status:
      Stable ICU 2.0.
    • getInternationalCurrencySymbol

      public String getInternationalCurrencySymbol()
      Returns the international string denoting the local currency.
      Returns:
      the international string denoting the local currency
      Status:
      Stable ICU 2.0.
    • setInternationalCurrencySymbol

      public void setInternationalCurrencySymbol(String currency)
      Sets the international string denoting the local currency.
      Parameters:
      currency - the international string denoting the local currency.
      Status:
      Stable ICU 2.0.
    • getCurrency

      public Currency getCurrency()
      Returns the currency symbol, for getCurrency() API compatibility only. ICU clients should use the Currency API directly.
      Returns:
      the currency used, or null
      Status:
      Stable ICU 3.4.
    • setCurrency

      public void setCurrency(Currency currency)
      Sets the currency.

      Note: ICU does not use the DecimalFormatSymbols for the currency any more. This API is present for API compatibility only.

      This also sets the currency symbol attribute to the currency's symbol in the DecimalFormatSymbols' locale, and the international currency symbol attribute to the currency's ISO 4217 currency code.

      Parameters:
      currency - the new currency to be used
      Throws:
      NullPointerException - if currency is null
      See Also:
      Status:
      Stable ICU 3.4.
    • getMonetaryDecimalSeparator

      public char getMonetaryDecimalSeparator()
      Returns the monetary decimal separator.
      Returns:
      the monetary decimal separator character
      Discouraged:
      ICU 58 use
      Status:
      Stable ICU 2.0.
    • setMonetaryDecimalSeparator

      public void setMonetaryDecimalSeparator(char sep)
      Sets the monetary decimal separator.
      Parameters:
      sep - the monetary decimal separator character
      Status:
      Stable ICU 2.0.
    • getMonetaryDecimalSeparatorString

      public String getMonetaryDecimalSeparatorString()
      [icu] Returns the monetary decimal separator string.
      Returns:
      the monetary decimal separator string
      See Also:
      Status:
      Stable ICU 58.
    • setMonetaryDecimalSeparatorString

      public void setMonetaryDecimalSeparatorString(String sep)
      [icu] Sets the monetary decimal separator string.

      Note: When the input monetary decimal separator String is represented by multiple Java chars, then getMonetaryDecimalSeparatorString() will return the default monetary decimal separator character ('.').

      Parameters:
      sep - the monetary decimal separator string
      Throws:
      NullPointerException - if sep is null.
      See Also:
      Status:
      Stable ICU 58.
    • getMonetaryGroupingSeparator

      public char getMonetaryGroupingSeparator()
      [icu] Returns the monetary grouping separator.
      Returns:
      the monetary grouping separator character
      Discouraged:
      ICU 58 use
      Status:
      Stable ICU 3.6.
    • setMonetaryGroupingSeparator

      public void setMonetaryGroupingSeparator(char sep)
      [icu] Sets the monetary grouping separator.
      Parameters:
      sep - the monetary grouping separator character
      Status:
      Stable ICU 3.6.
    • getMonetaryGroupingSeparatorString

      public String getMonetaryGroupingSeparatorString()
      [icu] Returns the monetary grouping separator.
      Returns:
      the monetary grouping separator string
      See Also:
      Status:
      Stable ICU 58.
    • setMonetaryGroupingSeparatorString

      public void setMonetaryGroupingSeparatorString(String sep)
      [icu] Sets the monetary grouping separator string.

      Note: When the input grouping separator String is represented by multiple Java chars, then getMonetaryGroupingSeparator() will return the default monetary grouping separator character (',').

      Parameters:
      sep - the monetary grouping separator string
      Throws:
      NullPointerException - if sep is null.
      See Also:
      Status:
      Stable ICU 58.
    • getCurrencyPattern

      @Deprecated public String getCurrencyPattern()
      Deprecated.
      This API is for ICU internal use only
      Internal API for NumberFormat
      Returns:
      String currency pattern string
      Status:
      Internal. This API is ICU internal only.
    • getExponentMultiplicationSign

      public String getExponentMultiplicationSign()
      Returns the multiplication sign
      Status:
      Stable ICU 54.
    • setExponentMultiplicationSign

      public void setExponentMultiplicationSign(String exponentMultiplicationSign)
      Sets the multiplication sign
      Status:
      Stable ICU 54.
    • getExponentSeparator

      public String getExponentSeparator()
      [icu] Returns the string used to separate the mantissa from the exponent. Examples: "x10^" for 1.23x10^4, "E" for 1.23E4.
      Returns:
      the localized exponent symbol, used in localized patterns and formatted strings
      See Also:
      Status:
      Stable ICU 2.0.
    • setExponentSeparator

      public void setExponentSeparator(String exp)
      [icu] Sets the string used to separate the mantissa from the exponent. Examples: "x10^" for 1.23x10^4, "E" for 1.23E4.
      Parameters:
      exp - the localized exponent symbol, used in localized patterns and formatted strings
      See Also:
      Status:
      Stable ICU 2.0.
    • getPadEscape

      public char getPadEscape()
      [icu] Returns the character used to pad numbers out to a specified width. This is not the pad character itself; rather, it is the special pattern character preceding the pad character. In the pattern "*_#,##0", '*' is the pad escape, and '_' is the pad character.
      Returns:
      the character
      See Also:
      Status:
      Stable ICU 2.0.
    • setPadEscape

      public void setPadEscape(char c)
      [icu] Sets the character used to pad numbers out to a specified width. This is not the pad character itself; rather, it is the special pattern character preceding the pad character. In the pattern "*_#,##0", '*' is the pad escape, and '_' is the pad character.
      See Also:
      Status:
      Stable ICU 2.0.
    • getPatternForCurrencySpacing

      public String getPatternForCurrencySpacing(int itemType, boolean beforeCurrency)
      [icu] Returns the desired currency spacing value. Original values come from ICU's CLDR data based on the locale provided during construction, and can be null. These values govern what and when text is inserted between a currency code/name/symbol and the currency amount when formatting money.

      For more information, see UTS#35 section 5.10.2.

      Parameters:
      itemType - one of CURRENCY_SPC_CURRENCY_MATCH, CURRENCY_SPC_SURROUNDING_MATCH or CURRENCY_SPC_INSERT
      beforeCurrency - true to get the beforeCurrency values, false to get the afterCurrency values.
      Returns:
      the value, or null.
      See Also:
      Status:
      Stable ICU 4.2.
    • setPatternForCurrencySpacing

      public void setPatternForCurrencySpacing(int itemType, boolean beforeCurrency, String pattern)
      [icu] Sets the indicated currency spacing pattern or value. See getPatternForCurrencySpacing(int, boolean) for more information.

      Values for currency match and surrounding match must be UnicodeSet patterns. Values for insert can be any string.

      Note: ICU4J does not currently use this information.

      Parameters:
      itemType - one of CURRENCY_SPC_CURRENCY_MATCH, CURRENCY_SPC_SURROUNDING_MATCH or CURRENCY_SPC_INSERT
      beforeCurrency - true if the pattern is for before the currency symbol. false if the pattern is for after it.
      pattern - string to override current setting; can be null.
      See Also:
      Status:
      Stable ICU 4.2.
    • getLocale

      public Locale getLocale()
      Returns the locale for which this object was constructed.
      Returns:
      the locale for which this object was constructed
      Status:
      Stable ICU 2.0.
    • getULocale

      public ULocale getULocale()
      Returns the locale for which this object was constructed.
      Returns:
      the locale for which this object was constructed
      Status:
      Stable ICU 3.2.
    • clone

      public DecimalFormatSymbols clone()
      Overrides:
      clone in class Object
      Status:
      Stable ICU 2.0.
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
      Status:
      Stable ICU 2.0.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
      Status:
      Stable ICU 2.0.
    • getLocale

      public final ULocale getLocale(ULocale.Type type)
      [icu] Returns the locale that was used to create this object, or null. This may may differ from the locale requested at the time of this object's creation. For example, if an object is created for locale en_US_CALIFORNIA, the actual data may be drawn from en (the actual locale), and en_US may be the most specific locale that exists (the valid locale).

      Note: The actual locale is returned correctly, but the valid locale is not, in most cases.

      Parameters:
      type - type of information requested, either ULocale.VALID_LOCALE or ULocale.ACTUAL_LOCALE.
      Returns:
      the information specified by type, or null if this object was not constructed from locale data.
      See Also:
      Status:
      Draft ICU 2.8 (retain).