Apex sObject Switchのサンプル
概要
sObject 値で切り替える場合、instanceof チェックとキャストを暗黙的に実行できます。
たとえば、if-else ステートメントを使用する次のコードがあるとします。
使用例
if (sobject instanceof Account) {
Account acc = (Account)sobject;
System.debug('account' + acc);
} else if (sobject instanceof Contact) {
Contact cc = (Contact)sobject;
System.debug("contact" +cc);
} else {
System.debug('default aa');
}
このコードを次の switch ステートメントで置き換えて簡略化できます。
switch on sobject {
when Account acc {
System.debug('account ' + acc);
}
when Contact cc {
System.debug('contact ' + cc);
}
when null {
System.debug('null');
}
when else {
System.debug('default');
}
}