この記事の目次
SalesforceのcompareToとは?

SalesforceのcompareToの概要

SalesforceでcompareToを設定する具体的な説明と方法

global class Employee implements Comparable {
次にcompareTo メソッドを実装するのです。
global Integer compareTo(Object compareTo) {
// Your code here
}
メソッドは、globalやpublicで宣言しましょう。publicで表すと以下のようになります。これは、比較であるInteger値を結果として返すコードです。
public Integer compareTo(Object objectToCompareTo)
サンプルを用いた実装例
以下は従業員IDを比較して値を返すプログラムサンプルです。compareToメソッドでクラスインスタンスの従業員の引数で渡された従業員と比較します。 インスタンスと objectToCompareTo が等しいならば、0、インスタンスが objectToCompareTo より大きければ1以上、インスタンスがobjectToCompareTo より小さいときは 0 未満です。 integerで値を返します。Employeeはデータの並び替え順をテストします。global class Employee implements Comparable {
public Long id;
public String name;
public String phone;
// Constructor
public Employee(Long i, String n, String p) {
id = i;
name = n;
phone = p;
}
// Implement the compareTo() method
global Integer compareTo(Object compareTo) {
Employee compareToEmp = (Employee)compareTo;
if (id == compareToEmp.id) return 0;
if (id > compareToEmp.id) return 1;
return -1;
}
}
@isTest
private class EmployeeSortingTest {
static testmethod void test1() {
List empList = new List();
empList.add(new Employee(101,'Joe Smith', '4155551212'));
リファレンス Comparable インターフェース
empList.add(new Employee(101,'J. Smith', '4155551212'));
empList.add(new Employee(25,'Caragh Smith', '4155551000'));
empList.add(new Employee(105,'Mario Ruiz', '4155551099'));
// Sort using the custom compareTo() method
empList.sort();
// Write list contents to the debug log
System.debug(empList);
// Verify list sort order.
System.assertEquals('Caragh Smith', empList[0].Name);
System.assertEquals('Joe Smith', empList[1].Name);
System.assertEquals('J. Smith', empList[2].Name);
System.assertEquals('Mario Ruiz', empList[3].Name);
}
}
SalesforceでcompareToを活用しよう

この記事の監修者・著者

-
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
最新の投稿
- 2023年12月6日キャリア・転職システムエンジニアへのキャリアチェンジで必要な資格は?
- 2023年12月6日キャリア・転職キャリアチェンジでエージェントを活用するメリット
- 2023年12月6日キャリア・転職プログラマーへのキャリアチェンジに必要な資格は?
- 2023年12月6日キャリア・転職サーバーエンジニアへのキャリアチェンジで必要な資格は?