Java Locale filter() 方法



描述

Java Locale filter(List<Locale.LanguageRange> priorityList, Collection<Locale> locales) 方法使用 RFC 4647 中定義的過濾機制返回匹配的 Locale 例項列表。這等效於當模式為 Locale.FilteringMode.AUTOSELECT_FILTERING 時,filter(List, Collection, FilteringMode) 。對給定區域設定進行此過濾操作可確保僅返回唯一的匹配區域設定。

宣告

以下是 java.util.Locale.filter() 方法的宣告

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

引數

priorityList − 使用者的語言優先順序列表,其中每個語言標籤都根據優先順序或權重以降序排序。

locales − 用於匹配的 Locale 例項。

返回值

此方法返回用於匹配語言標籤的 Locale 例項列表,這些例項根據優先順序或權重以降序排序,如果沒有任何匹配項,則返回空列表。該列表是可修改的。

異常

NullPointerException − 如果 priorityList 或 locales 為 null

Java Locale filter(List<Locale.LanguageRange> priorityList, Collection<Locale> locales, Locale.FilteringMode mode) 方法

描述

Java Locale filter(List<Locale.LanguageRange> priorityList, Collection<Locale> locales, Locale.FilteringMode mode) 方法使用 RFC 4647 中定義的過濾機制返回匹配的 Locale 例項列表。對給定區域設定進行此過濾操作可確保僅返回唯一的匹配區域設定。

宣告

以下是 java.util.Locale.filter() 方法的宣告

public static List<Locale> filter​(List<Locale.LanguageRange> priorityList, Collection<Locale> locales, Locale.FilteringMode mode)

引數

priorityList − 使用者的語言優先順序列表,其中每個語言標籤都根據優先順序或權重以降序排序。

locales − 用於匹配的 Locale 例項。

mode − 過濾模式。

返回值

此方法返回用於匹配語言標籤的 Locale 例項列表,這些例項根據優先順序或權重以降序排序,如果沒有任何匹配項,則返回空列表。該列表是可修改的。

異常

NullPointerException − 如果 priorityList 或 locales 為 null

IllegalArgumentException − 如果在指定 Locale.FilteringMode.REJECT_EXTENDED_RANGES 時,給定列表中包含一個或多個擴充套件語言範圍

過濾區域設定列表示例

以下示例顯示了 Java Locale filter(List<Locale.LanguageRange>, Collection<Locale>) 方法的用法。我們正在建立一個逗號分隔的區域設定字串,並使用該字串建立了一個區域設定首選項列表。現在建立了一個區域設定列表,並添加了一些區域設定。使用 filter() 方法過濾區域設定並列印結果。

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);

      List<Locale> filteredTags = Locale.filter(priorityList, localeList);

      System.out.println(filteredTags);
   }
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

[en]

過濾區域設定列表示例

以下示例顯示了 Java Locale filter(List<Locale.LanguageRange>, Collection<Locale>) 方法的用法。我們正在建立一個不同的逗號分隔的區域設定字串,並使用該字串建立了一個區域設定首選項列表。現在建立了一個區域設定列表,並添加了一些區域設定。使用 filter() 方法過濾區域設定並列印結果。

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);

      List<Locale> filteredTags = Locale.filter(priorityList, localeList);

      System.out.println(filteredTags);
   }
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

[en, en_CA, fr]

使用過濾模式過濾區域設定列表示例

以下示例顯示了 Java Locale filter(List<Locale.LanguageRange>, Collection<Locale>,Locale.FilteringMode) 方法的用法。我們正在建立一個逗號分隔的區域設定字串,並使用該字串建立了一個區域設定首選項列表。現在建立了一個區域設定列表,並添加了一些區域設定。使用 filter() 方法過濾區域設定並列印結果。

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);

      List<Locale> filteredTags = Locale.filter(priorityList, localeList,Locale.FilteringMode.AUTOSELECT_FILTERING);

      System.out.println(filteredTags);
   }
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

[en]
java_util_locale.htm
廣告

© . All rights reserved.