Java Locale lookup() 方法



描述

Java Locale lookup(List<Locale.LanguageRange> priorityList, Collection<Locale> locales) 方法根据 RFC 4647 中定义的查找机制,返回与最佳匹配语言标签对应的 Locale 实例。

声明

以下是 java.util.Locale.lookup() 方法的声明

public static Locale lookup​(List<Locale.LanguageRange> priorityList, Collection<Locale> locales)

参数

priorityList − 用户的语言优先级列表,其中每个语言标签都按优先级或权重降序排列。

locales − 用于匹配的 Locale 实例。

返回值

此方法返回根据优先级或权重选择的最佳匹配 Locale 实例,如果没有任何匹配项则返回 null。

异常

NullPointerException − 如果 priorityList 或 locales 为 null

使用 lookup 方法在英语、日语 Locale 上获取最佳匹配语言标签示例

以下示例演示了 Java Locale lookup(List<Locale.LanguageRange>, Collection<Locale>) 方法的用法。我们创建了一个逗号分隔的 locales 字符串,并使用该字符串创建了一个 locale 偏好列表。现在创建了一个 locale 列表并添加了一些 locales。使用 lookup() 方法搜索 locales 并打印结果。

package com.tutorialspoint;

import java.util.ArrayList;
import java.util.List;
import java.util.Locale;

public class LocaleDemo {
   public static void main(String[] args) {

      String tags = Locale.ENGLISH.toLanguageTag() 
         + ","
         + Locale.FRENCH.toLanguageTag();

      List<Locale.LanguageRange> priorityList = Locale.LanguageRange.parse(tags);
      List<Locale> localeList = new ArrayList<>();
      localeList.add(Locale.ENGLISH);
      localeList.add(Locale.JAPAN);

      Locale filteredTag = Locale.lookup(priorityList, localeList);

      System.out.println(filteredTag);
   }
}

输出

让我们编译并运行上面的程序,这将产生以下结果:

en

使用 lookup 方法在英语(加拿大)、法语 Locale 上获取最佳匹配语言标签示例

以下示例演示了 Java Locale lookup(List<Locale.LanguageRange>, Collection<Locale>) 方法的用法。我们创建了一个不同的逗号分隔的 locales 字符串,并使用该字符串创建了一个 locale 偏好列表。现在创建了一个 locale 列表并添加了一些 locales。使用 lookup() 方法搜索 locales 并打印结果。

package com.tutorialspoint;

import java.util.ArrayList;
import java.util.List;
import java.util.Locale;

public class LocaleDemo {
   public static void main(String[] args) {

      String tags = Locale.ENGLISH.toLanguageTag() 
         + ","
         + Locale.FRENCH.toLanguageTag();

      List<Locale.LanguageRange> priorityList = Locale.LanguageRange.parse(tags);
      List<Locale> localeList = new ArrayList<>();
      localeList.add(Locale.ENGLISH);
      localeList.add(Locale.CANADA);
      localeList.add(Locale.FRENCH);

      Locale filteredTag = Locale.lookup(priorityList, localeList);

      System.out.println(filteredTag);
   }
}

输出

让我们编译并运行上面的程序,这将产生以下结果:

en

使用 lookup 方法在英语、日语 Locale 上获取最佳匹配语言标签示例

以下示例演示了 Java Locale lookup(List<Locale.LanguageRange>, Collection<Locale>,Locale.FilteringMode) 方法的用法。我们创建了一个逗号分隔的 locales 字符串,并使用该字符串创建了一个 locale 偏好列表。现在创建了一个 locale 列表并添加了一些 locales。使用 lookup() 方法搜索 locales 并打印结果。

package com.tutorialspoint;

import java.util.ArrayList;
import java.util.List;
import java.util.Locale;

public class LocaleDemo {
   public static void main(String[] args) {

      String tags = Locale.ENGLISH.toLanguageTag() 
         + ","
         + Locale.CANADA.toLanguageTag();

      List<Locale.LanguageRange> priorityList = Locale.LanguageRange.parse(tags);
      List<Locale> localeList = new ArrayList<>();
      localeList.add(Locale.ENGLISH);
      localeList.add(Locale.JAPAN);

      Locale filteredTag = Locale.lookup(priorityList, localeList);

      System.out.println(filteredTag);
   }
}

输出

让我们编译并运行上面的程序,这将产生以下结果:

en
java_util_locale.htm
广告