1. 概述
在Apex中,所有的变量和表达式都有一个数据类型。
- 基本数据类型:Integer、Double、Long、Decimal、Data、Datatime、Time、String、ID、Boolean、Blob、Object。
- sObject:Account、Contact、CustomObject__c等。
- 集合(Collection):Set、List、Map。
- 枚举(Enums)
- 用户自定义的Apex Class创建的对象。
- 系统提供的Apex Class创建的对象。
- Null:可以分配给任何变量。
2. 数据类型
| Data Type | Description |
|---|---|
| Blob | 单个对象的二进制数据集合,可以转换为String,或者从String转换过来。可以用于邮件附件发送等场景。 |
| Boolean | 只有三个值:True、False、Null。 |
| Date | 日期,不包括时间 |
| DateTime | 日期和时间 |
| Time | 时间 |
| Decimal | 任意精度的数字,Currency会自动设置成Decimal类型。(两个不同精度的Decimal值,如1.1和1.10,他们的哈希值是不同的,放入Set、Map时要注意) 1. 如果Decimal值是从query中获取,则精度和query返回的结果相同 2. 如果Decimal值是从String中获取,则精度是从小数点后开始取 3. 如果Decimal值是从非Decimal类型的数字去取,则会先将其转为String,再从小数点后开始取 |
| Double | 包含小数点的64位数字,范围是:-2^63^ ~ 2^63^-1。不支持科学计数法。 |
| ID | 18位有效字符的Lightning Platform record identifier。如果是15位的ID,Apex会自动转换成18位。 |
| Integer | 不含小数点的32位数字,范围是:-2,147,483,648 ~ 2,147,483,647。例:Integer i = 1; |
| Long | 不含小数点的64位数字,范围是:-2^63^ ~ 2^63^-1。例:Long l = 2147483648L; |
| Object | 任何Apex支持的数据类型: 1. 基本数据类型,如Integer、Blob等。 2. 用户自定义的Class 3. sObject及其特定类型(如Account) ... |
| String | 单引号引起的任何字符集,字符数没有限制。 |
参考Writing Apex | Apex Developer Guide | Salesforce Developers