Salesforce Apex (一) - 数据类型

76 阅读2分钟

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 TypeDescription
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。不支持科学计数法。
ID18位有效字符的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