Module java.base
Package java.util

Enum Class Locale.FilteringMode

java.lang.Object
java.lang.Enum<Locale.FilteringMode>
java.util.Locale.FilteringMode
所有已实现的接口:
Serializable, Comparable<Locale.FilteringMode>, Constable
封装类:
Locale

public static enum Locale.FilteringMode extends Enum<Locale.FilteringMode>
此枚举提供了用于选择区域设置匹配的过滤模式常量。有关详细信息,请参阅RFC 4647 语言标签匹配

例如,想象两个语言优先级列表,每个列表只包含一个语言范围和一组以下语言标签:

    de (德语)
    de-DE (德语,德国)
    de-Deva (德语,梵文脚本)
    de-Deva-DE (德语,梵文脚本,德国)
    de-DE-1996 (德语,德国,1996年正字法)
    de-Latn-DE (德语,拉丁文脚本,德国)
    de-Latn-DE-1996 (德语,拉丁文脚本,德国,1996年正字法)
 
过滤方法的行为如下:
过滤方法行为
过滤模式 语言优先级列表: "de-DE" 语言优先级列表: "de-*-DE"
AUTOSELECT_FILTERING 执行基本过滤并返回"de-DE""de-DE-1996" 执行扩展过滤并返回"de-DE""de-Deva-DE""de-DE-1996""de-Latn-DE""de-Latn-DE-1996"
EXTENDED_FILTERING 执行扩展过滤并返回"de-DE""de-Deva-DE""de-DE-1996""de-Latn-DE""de-Latn-DE-1996" 同上。
IGNORE_EXTENDED_RANGES 执行基本过滤并返回"de-DE""de-DE-1996" 执行基本过滤并返回null,因为没有匹配项。
MAP_EXTENDED_RANGES 同上。 执行基本过滤并返回"de-DE""de-DE-1996",因为"de-*-DE"被映射到"de-DE"
REJECT_EXTENDED_RANGES 同上。 抛出IllegalArgumentException,因为"de-*-DE"不是有效的基本语言范围。
自 JDK 版本:
1.8
外部规范
参见:
  • Enum Constant Details

    • AUTOSELECT_FILTERING

      public static final Locale.FilteringMode AUTOSELECT_FILTERING
      根据包含语言范围的给定语言优先级列表指定自动过滤模式。如果所有范围都是基本的,则选择基本过滤。否则,选择扩展过滤。
    • EXTENDED_FILTERING

      public static final Locale.FilteringMode EXTENDED_FILTERING
      指定扩展过滤。
    • IGNORE_EXTENDED_RANGES

      public static final Locale.FilteringMode IGNORE_EXTENDED_RANGES
      指定基本过滤:请注意,给定语言优先级列表中包含的任何扩展语言范围都将被忽略。
    • MAP_EXTENDED_RANGES

      public static final Locale.FilteringMode MAP_EXTENDED_RANGES
      指定基本过滤:如果给定语言优先级列表中包含任何扩展语言范围,则将其映射到基本语言范围。具体来说,以子标记"*"开头的语言范围被视为语言范围"*"。例如,"*-US"被视为"*"。如果"*"不是第一个子标记,则会删除"*"和额外的"-"。例如,"ja-*-JP"被映射到"ja-JP"
    • REJECT_EXTENDED_RANGES

      public static final Locale.FilteringMode REJECT_EXTENDED_RANGES
      指定基本过滤:如果给定语言优先级列表中包含任何扩展语言范围,则拒绝该列表,并且过滤方法会抛出IllegalArgumentException
  • Method Details

    • values

      public static Locale.FilteringMode[] values()
      返回包含此枚举类的常量的数组,按声明顺序排列。
      返回:
      包含此枚举类的常量的数组,按声明顺序排列
    • valueOf

      public static Locale.FilteringMode valueOf(String name)
      返回具有指定名称的此类的枚举常量。字符串必须与此类中用于声明枚举常量的标识符完全匹配。(不允许存在多余的空白字符。)
      参数:
      name - 要返回的枚举常量的名称。
      返回:
      具有指定名称的枚举常量
      抛出:
      IllegalArgumentException - 如果此枚举类没有具有指定名称的常量
      NullPointerException - 如果参数为 null