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