文档

Java™教程
隐藏目录
区域设置敏感服务SPI
指南:国际化
课程:设置区域设置

区域设置敏感服务SPI

此功能允许插入与区域相关的数据和服务。通过这种方式,第三方能够提供java.textjava.util包中大多数与区域有关的类的实现。

SPI(服务提供者接口)的实现基于抽象类和由服务提供者实现的Java接口。在运行时,Java类加载机制用于动态定位和加载实现SPI的类。

您可以使用区域敏感的服务SPI来提供以下区域敏感的实现:

相应的SPI分别包含在java.text.spijava.util.spi包中:

java.util.spi java.text.spi
  • CurrencyNameProvider
  • LocaleServiceProvider
  • TimeZoneNameProvider
  • CalendarDataProvider
  • BreakIteratorProvider
  • CollatorProvider
  • DateFormatProvider
  • DateFormatSymbolsProvider
  • DecimalFormatSymbolsProvider
  • NumberFormatProvider

例如,如果您想为新的区域设置提供NumberFormat对象,您需要实现java.text.spi.NumberFormatProvider类。您需要扩展此类并实现其方法:

Locale loc = new Locale("da", "DK");
NumberFormat nf = NumberFormatProvider.getNumberInstance(loc);

这些方法首先检查Java运行时环境是否支持请求的区域设置;如果支持,则使用该支持。否则,方法将调用已安装提供者的相应接口的getAvailableLocales()方法,以查找支持请求的区域设置的提供者。


上一页: 区域设置的范围
下一页: 隔离区域设置特定数据