课程章节介绍
好,我们来看下一个知识点——变量初始化与空值。
在Apex里,你声明一个变量但没给它赋值,那它的值就是null,也就是空。空的意思很直白,就是这个变量现在没有指向任何实际的东西。
而且,不光是默认空着,你也可以主动把null赋给任何用基本类型声明的变量,比如整数、字符串,或者布尔型。
这里有个特别需要注意的点:如果你的变量是空的,你还去调用它身上自带的实例方法,那Apex直接就会报错,抛出一个叫NullPointerException的空指针异常。这在调试的时候经常碰到。
还有一个非常容易掉进去的坑,很多初学者以为布尔变量如果没有赋值,应该默认为false——这个想法是不对的。在Apex里,布尔变量跟其他所有变量一样,只要没显式赋值,它就是null,不是true,也不是false。一旦你拿一个null的布尔值去作条件判断,就可能触发空指针异常。
另外,关于变量的作用范围,你在一个代码块里的任意位置都可以定义变量,但要注意,它从定义的那一行开始,才占据作用域,后面的代码才能用,前面的代码里是看不到它的。
简单总结:声明不初始化就是空,空可以手动赋值,空的实例方法调用会崩,布尔没赋初始值不是false而是空,作用域从定义处开始。这些点记牢,写代码就会少踩很多坑。
关键词
Apex
Salesforce
Developer Guide