课程章节介绍
我们来看一个关于Switch语句处理枚举的小知识点。
在Apex里,如果你用枚举类型来做Switch判断,其实语法上并不强制要求你写`when else`这个兜底分支。也就是说,就算你没有把枚举里所有可能的值都列出来,代码也能编译通过。
但是老师还是建议你,最好写上`when else`。为什么呢?因为你可以在一个`when`块里一次性匹配多个枚举值,用逗号隔开就行。比如,`when SPRING, SUMMER`,这样只要值是春天或者夏天,都会进这个分支来处理。
真正需要注意的场景是,当你使用的是来自托管包里的枚举。你想想看,托管包是别人开发的,说不定哪天就更新了,往枚举里加了几个新值。如果你的Switch没写`when else`,那遇到这些新值的时候,你的代码就懵了,不知道该怎么办,可能就出了意外。
所以你只要加上一个`when else`,就能主动兜底,把所有你没预料到的新值都稳稳接住,提前做好保护。这样代码以后就耐用多了,不会因为别人更新个包就崩溃。这是一个很好的习惯。
关键词
Apex
Salesforce
Developer Guide