Apex switch文を使って条件分岐する方法

環境
Salesforce

構文

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
switch on expression {
when value1 { // when block 1
// code block 1
}
when value2 { // when block 2
// code block 2
}
when value3 { // when block 3
// code block 3
}
when else { // default block, optional
// code block 4
}
}
switch on expression { when value1 { // when block 1 // code block 1 } when value2 { // when block 2 // code block 2 } when value3 { // when block 3 // code block 3 } when else { // default block, optional // code block 4 } }
switch on expression {
    when value1 {		// when block 1
        // code block 1
    }	
    when value2 {		// when block 2
        // code block 2
    }
    when value3 {		// when block 3
        // code block 3
    }
    when else {		  // default block, optional
        // code block 4
    }
}

式が複数の値のいずれかと一致するかどうかをテストし、それに応じて分岐する switch ステートメントが Apex で提供されます。

操作例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
switch on n {
when 1 {
System.debug('Januaryです。');
}
when 2 {
System.debug('Februaryです。');
}
when 3 {
System.debug('Marchです。');
}
when 4 {
System.debug('はAprilです。');
}
when 5 {
System.debug('Mayです。');
}
when 6 {
System.debug('Juneです。');
}
when 7 {
System.debug('Julyです。');
}
when 8 {
System.debug('8月はAugustです。');
}
when 9 {
System.debug('9月はSeptemberです。');
}
when 10 {
System.debug('10月はOctoberです。');
}
when 11 {
System.debug('11月はNovemberです。');
}
when 12 {
System.debug('12月はDecemberです。');
}
when else {
System.debug('不正な数字が入力されています。');
}
}
switch on n { when 1 { System.debug('Januaryです。'); } when 2 { System.debug('Februaryです。'); } when 3 { System.debug('Marchです。'); } when 4 { System.debug('はAprilです。'); } when 5 { System.debug('Mayです。'); } when 6 { System.debug('Juneです。'); } when 7 { System.debug('Julyです。'); } when 8 { System.debug('8月はAugustです。'); } when 9 { System.debug('9月はSeptemberです。'); } when 10 { System.debug('10月はOctoberです。'); } when 11 { System.debug('11月はNovemberです。'); } when 12 { System.debug('12月はDecemberです。'); } when else { System.debug('不正な数字が入力されています。'); } }
switch on n {            
           when 1 {
               System.debug('Januaryです。');
           }
           when 2 {
               System.debug('Februaryです。');
           }            
           when 3 {
               System.debug('Marchです。');
           }
           when 4 {
               System.debug('はAprilです。');
           }
           when 5 {
               System.debug('Mayです。');
           }            
           when 6 {
               System.debug('Juneです。');
           }
           when 7 {
               System.debug('Julyです。');
           }
           when 8 {
               System.debug('8月はAugustです。');
           }
           when 9 {
               System.debug('9月はSeptemberです。');
           }            
           when 10 {
               System.debug('10月はOctoberです。');
           }
           when 11 {
               System.debug('11月はNovemberです。');
           }
           when 12 {
               System.debug('12月はDecemberです。');
           }
           when else {
               System.debug('不正な数字が入力されています。');
           }
       }

 

Apex

Posted by arkgame