Java Locale lookupTag() 方法



描述

Java Locale lookupTag(List<Locale.LanguageRange> priorityList, Collection<String> tags) 方法使用 RFC 4647 中定义的查找机制返回最佳匹配的语言标签。此查找操作在给定的标签上确保返回第一个匹配且大小写保留的标签。

声明

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

public static String lookupTag​(List<Locale.LanguageRange> priorityList, Collection<String> tags)

参数

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

tags − 语言标签。

返回值

此方法返回根据优先级或权重选择的最佳匹配语言标签,如果没有任何匹配则返回 null。

异常

NullPointerException − 如果 priorityList 或 locales 为 null

获取 en、jp 语言环境的最佳匹配语言标签示例

以下示例显示了 Java Locale lookupTag() 方法的用法。我们正在创建一个逗号分隔的语言环境字符串,并使用该字符串创建了一个语言环境首选项列表。现在创建了一个语言环境列表并添加了一些语言环境。使用 lookupTag() 方法搜索语言环境并打印结果。

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<String> localeList = new ArrayList<>();
      localeList.add("en");
      localeList.add("jp");

      String filteredTags = Locale.lookupTag(priorityList, localeList);

      System.out.println(filteredTags);
   }
}

输出

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

en

获取 en、en_CA、fr 语言环境的最佳匹配语言标签示例

以下示例显示了 Java Locale lookupTag() 方法的用法。我们正在创建一个不同的逗号分隔的语言环境字符串,并使用该字符串创建了一个语言环境首选项列表。现在创建了一个语言环境列表并添加了一些语言环境。使用 lookupTag() 方法搜索语言环境并打印结果。

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<String> localeList = new ArrayList<>();
      localeList.add("en");
      localeList.add("en_CA");
      localeList.add("fr");

      String filteredTags = Locale.lookupTag(priorityList, localeList);

      System.out.println(filteredTags);
   }
}

输出

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

en

获取 en、jp 语言环境的最佳匹配语言标签示例

以下示例显示了 Java Locale lookupTag() 方法的用法。我们正在创建一个逗号分隔的语言环境字符串,并使用该字符串创建了一个语言环境首选项列表。现在创建了一个语言环境列表并添加了一些语言环境。使用 lookupTag() 方法搜索语言环境并打印结果。

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<String> localeList = new ArrayList<>();
      localeList.add("en");
      localeList.add("jp");

      String filteredTags = Locale.lookupTag(priorityList, localeList);

      System.out.println(filteredTags);
   }
}

输出

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

en
java_util_locale.htm
广告