この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Collator クラス

比較や並べ替えに使用できるロケール固有のインスタンスを取得するメソッドが含まれています。getInstance() メソッドを使用して、指定されたロケールの Collator インスタンスを取得し、その Collator を Comparator パラメーターとして list.sort() メソッドに渡します。

名前空間

System

使用方法

ロケールを区別する並べ替えでは、コードを実行するユーザーごとに異なる結果が生成される場合があります。このため、トリガーや、特定の並べ替え順が必要なコードでは、ロケールを区別する並べ替えを使用しないでください。

次の例では、リストに対し、デフォルトの並べ替えを実行し、次に Collator を使用してユーザーのロケールに基づく並べ替えを実行します。

1@IsTest
2    static void userLocaleSort() {
3        
4        string userLocale = 'fr_FR';
5        
6        User u = new User(Alias = 'standt', Email='standarduser@testorg.com',
7        EmailEncodingKey='UTF-8', LastName='Testing', LanguageLocaleKey='en_US',
8        LocaleSidKey=userLocale, TimeZoneSidKey='America/Los_Angeles',
9        ProfileId = [SELECT Id FROM Profile WHERE Name='Standard User'].Id,
10        UserName='standarduser' + DateTime.now().getTime() + '@testorg.com');
11       
12        System.runAs(u) {
13           
14            List<String> shoppingList = new List<String> {
15                'épaule désosé Agneau',
16                'Juice',
17                'à la mélasse Galette 5 kg',
18                'Bread',
19                'Grocery'
20            };
21            
22            // Default sort
23            shoppingList.sort();
24            Assert.areEqual('Bread', shoppingList[0]);
25            
26            // Sort based on user Locale
27            Collator myCollator = Collator.getInstance();
28            shoppingList.sort(myCollator);
29            Assert.areEqual('à la mélasse Galette 5 kg', shoppingList[0]);
30            Assert.areEqual('Bread', shoppingList[1]);
31            Assert.areEqual('épaule désosé Agneau', shoppingList[2]);
32            Assert.areEqual('Grocery', shoppingList[3]);
33            Assert.areEqual('Juice', shoppingList[4]);
34        }
35    }

Collator のメソッド

Collator のメソッドは次のとおりです。

compare(source, target)

指定されたロケールで文字列の比較を実行します。

署名

public Integer compare(String source, String target)

パラメーター

source
型: String
target
型: String

戻り値

型: Integer

getInstance()

現在のユーザーのロケールで Collator インスタンスを取得します。

署名

public static System.Collator getInstance()

戻り値

型: Collator クラス