> Apex中文手册 > Apex - 数据类型

了解数据类型

正如我们所研究的,Apex语言是强类型的,所以Apex中的每个变量都将使用特定的数据类型来声明。 所有顶点变量初始化为null。 作为最佳实践,开发人员必须确保它应该被赋予适当的值,否则这样的变量在使用时将抛出空指针异常或任何未处理的期望。


Apex支持以下数据类型:

  • Primitive (Integer, Double, Long, Date, Datetime, String, ID, or Boolean)  原始(整数,双精度,长整型,日期,日期时间,字符串,ID或布尔值)
  • Collections (Lists, Sets and Maps) (To be covered in Chapter 6)  集合(列表,集合和地图)(将在第6章中讨论)
  • sObject
  • Enums  枚举  
  • Classes, Objects and Interfaces (To be covered in Chapter 11, 12 and 13)  类,对象和接口(将在第11,12和13章中讨论)

在本章中,我们将看看所有的原始数据类型,sObjects和枚举。 我们将在下一章讨论集合,类,对象和接口,因为它们是要单独学习的关键主题。


原始数据类型

Integer
整数

任何32位数,不包括任何小数点。 值的范围是-2,147,483,648,最大值为2,147,483,647。


例如:我们要声明一个变量,它将存储需要运往化学加工厂买方的桶的数量。

Integer barrelNumbers = 1000;
system.debug(' value of barrelNumbers variable: '+barrelNumbers);

ystem.debug()是打印变量值的函数,以便我们可以使用它来调试或知道变量当前所保存的值。

将上述代码粘贴到开发人员控制台,然后单击执行。 一旦生成日志,它将显示变量“barrelNumbers”的值为1000。


Boolean
布尔值

此变量可以是true,false或null。 很多时候,这种类型的变量可以用作编程中的标志来识别特定条件集或未设置。


例如:如果我们想将shipmentDispatched设置为true,那么它可以声明为:

Boolean shipmentDispatched;
shipmentDispatched = true;
System.debug('Value of shipmentDispatched '+shipmentDispatched);


Date
日期

这是类型日期的变量。 这只能存储日期而不是时间。 为了保存日期和时间,我们需要将它存储在DateTime的变量中。


例如:

//ShipmentDate can be stored when shipment is dispatched.
Date ShipmentDate = date.today();
System.debug('ShipmentDate '+ShipmentDate);


Long

这是一个不带小数点的64位数字。 当您需要的范围宽于Integer提供的值时,请使用此数据类型。


例如:如果我们想存储公司收入,那么我们将使用数据类型为Long。

Long companyRevenue  = 21474838973344648L;
system.debug('companyRevenue'+companyRevenue);


Object

对象

我们可以将其称为Apex支持的任何数据类型。 例如,Class变量可以是该类的对象,sObject通用类型也是一个对象,类似Account这样特定的对象类型也是一个对象。


例如:

Account objAccount = new Account (Name = 'Test Chemical');
system.debug('Account value'+objAccount);


您还可以创建预定义类的对象,如下所示:

//Class Name: MyApexClass
MyApexClass  classObj = new MyApexClass();

这是将被用作类变量的类对象。 不需要执行这段代码,这只是为了参考。


String

字符串是单引号内的任何字符集。 它没有字符数量的限制,但是堆大小将用于确定,以便Apex程序不应该垄断资源,并且不会增长太大。


例如:

String companyName = 'Abc International';
System.debug('Value companyName variable'+companyName);


Time
时间

此变量用于存储特定时间。 此变量应始终使用系统静态方法声明。


Blob
斑点

Blob是作为对象存储的二进制数据的集合。 当我们要将Salesforce中的附件存储到变量中时,将使用此选项。 此数据类型转换单个对象中的附件。 当我们需要将blob转换为字符串时,我们可以使用toString和valueOf方法在需要时将其转换为字符串。


sObject

这是Salesforce中的特殊数据类型。 它类似于sql中的表,并且包含与SQL中的列类似的字段。 有两种类型的sObjects:Standard和Custom。

例如,Account是一个标准的sObject和任何其他用户定义的对象(如我们创建的Customer对象)是Custom sObject。


例如:

//Declaring an sObject variable of type Account
Account objAccount = new Account();

//Assignment of values to fields of sObjects
objAccount.Name = 'ABC Customer';
objAccount.Description = 'Test Account';
System.debug('objAccount variable value'+objAccount);

//Declaring an sObject for custom object APEX_Invoice_c
APEX_Customer_c objCustomer = new APEX_Customer_c();

//Assigning value to fields
objCustomer.APEX_Customer_Decscription_c = 'Test Customer';
System.debug('value objCustomer'+objCustomer);


Enum

枚举

枚举是一种抽象数据类型,存储指定标识符的有限集合的一个值。 您可以使用关键字Enum定义一个枚举。 枚举可用作Salesforce中的任何其他数据类型。


例如:

假设,你想声明化合物的可能名称,那么你可以这样做:

//Declaring enum for Chemical Compounds
public enum Compounds {HCL, H2SO4, NACL, HG}
Compounds objC = Compounds.HCL;
System.debug('objC value: '+objC);

上一篇:
下一篇: