课程章节介绍
好的同学们,今天我们来看看Apex里几种最常用的数据类型。别担心,我会用最简单的方式讲清楚。
首先,数字类型。我们常用的有几种:一个是Double,它是64位的浮点数,就是说它既能存整数,也能存带小数点的数。如果你需要一个很大的整数,比如记录条数或计数器,就用Long,它是64位的有符号整数。还有一个32位的有符号整数,你可能在文档里见过它叫Integer,有时候缩写会写成RST,但实际上在代码里我们直接写Integer就好。记住,32位和64位的区别主要在于能表示的数字范围大小。
接下来,有一种Apex里非常有特色的类型:ID。每个Salesforce记录都有一个唯一标识,比如账户、联系人,它们的ID字段就是这种类型。标准ID是18个字符,但你有时候会看到15个字符的版本。别担心,如果你把15个字符的值赋给一个ID变量,Apex会自动帮你补成18个字符。所以处理ID的时候,你几乎感觉不到这个转换。
还有一个特殊的类型叫Object。在Apex里,所有数据类型其实都继承自Object这个根类型。也就是说,你可以把一个整数、一个字符串、甚至一个自定义对象,都塞进一个Object类型的变量里。需要的时候,再把它强制转换回原来的类型。这就像一个大箱子,什么都能装,但要拿出来用的时候,你得知道它原来是什么东西。
再说字符串String,这个用得最多。写法很简单,用单引号把文本括起来,比如'Hello World'。如果你要写多行文本,比如一段长留言,就用三重单引号开头和结尾。像这样:
```
String msg = '''第一行
第二行
第三行''';
```
Apex里的字符串有个和别的语言不太一样的地方:它可以是null(没有值),也可以是空字符串''。但Salesforce数据库里的字符串字段(比如Text字段)是不一样的,它们只能为空字符串,而不能是null。所以从数据库读取字符串时,我们一般不用操心null,但自己定义变量时就要注意了。
字符串还支持一些转义序列,就是在字符串里表示一些特殊字符。这些和SOQL查询语言里用的完全一样。比如:\n是换行,\t是制表符,\\表示一个反斜杠本身,\'是单引号(因为字符串外面也是单引号),还有\r、\b、\f等等。你用得最多的大概就是换行和制表符了。
最后,一个非常好用的特性:在Apex里,字符串可以直接用比较运算符来比较大小。什么意思呢?比如你可以写 if ('apple' < 'banana') ,这是合法的。比较的时候,它是按照当前用户的语言区域,做不区分大小写的比较。也就是说,'A'和'a'会被当成一样。这在很多其他语言里是做不到的,比如Java里字符串比较必须用equals方法。Apex的这个设计让代码写起来更自然,但也要注意它和严格的大小写敏感比较不一样。
好了,今天我们把数字、ID、Object、字符串这几个基础数据类型的重点都捋了一遍。大家先有个印象,写代码的时候慢慢体会,遇到问题再回来看看这些规则。
关键词
Apex
Salesforce
Developer Guide