Switch Example — Enums

DEX455 - Apex 控制流语句:条件判断、Switch 分支与循环完全指南

📄 第 119 页 🎬 视频课程

课程章节介绍

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

关键词

Apex Salesforce Developer Guide