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
廣告
© . All rights reserved.