Apex - 數(shù)據(jù)類型

2019-10-26 16:26 更新

了解數(shù)據(jù)類型

正如我們所研究的,Apex語言是強類型的,所以Apex中的每個變量都將使用特定的數(shù)據(jù)類型來聲明。 所有頂點變量初始化為null。 作為最佳實踐,開發(fā)人員必須確保它應該被賦予適當?shù)闹?,否則這樣的變量在使用時將拋出空指針異?;蛉魏挝刺幚淼钠谕?。


Apex支持以下數(shù)據(jù)類型:

  • Primitive (Integer, Double, Long, Date, Datetime, String, ID, or Boolean) 原始(整數(shù),雙精度,長整型,日期,日期時間,字符串,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章中討論)

在本章中,我們將看看所有的原始數(shù)據(jù)類型,sObjects和枚舉。 我們將在下一章討論集合,類,對象和接口,因為它們是要單獨學習的關(guān)鍵主題。


原始數(shù)據(jù)類型

Integer
整數(shù)

任何32位數(shù),不包括任何小數(shù)點。 值的范圍是-2,147,483,648,最大值為2,147,483,647。


例如:我們要聲明一個變量,它將存儲需要運往化學加工廠買方的桶的數(shù)量。

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

system.debug()是打印變量值的函數(shù),以便我們可以使用它來調(diào)試或知道變量當前所保存的值。

將上述代碼粘貼到開發(fā)人員控制臺,然后單擊執(zhí)行。 一旦生成日志,它將顯示變量“barrelNumbers”的值為1000。


Boolean
布爾值

此變量可以是true,false或null。 很多時候,這種類型的變量可以用作編程中的標志來識別特定條件集或未設(shè)置。


例如:如果我們想將shipmentDispatched設(shè)置為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

這是一個不帶小數(shù)點的64位數(shù)字。 當您需要的范圍寬于Integer提供的值時,請使用此數(shù)據(jù)類型。


例如:如果我們想存儲公司收入,那么我們將使用數(shù)據(jù)類型為Long。

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


Object

對象

我們可以將其稱為Apex支持的任何數(shù)據(jù)類型。 例如,Class變量可以是該類的對象,sObject通用類型也是一個對象,類似Account這樣特定的對象類型也是一個對象。


例如:

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


您還可以創(chuàng)建預定義類的對象,如下所示:

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

這是將被用作類變量的類對象。 不需要執(zhí)行這段代碼,這只是為了參考。


String

字符串是單引號內(nèi)的任何字符集。 它沒有字符數(shù)量的限制,但是堆大小將用于確定,以便Apex程序不應該壟斷資源,并且不會增長太大。


例如:

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


Time
時間

此變量用于存儲特定時間。 此變量應始終使用系統(tǒng)靜態(tài)方法聲明。


Blob
斑點

Blob是作為對象存儲的二進制數(shù)據(jù)的集合。 當我們要將Salesforce中的附件存儲到變量中時,將使用此選項。 此數(shù)據(jù)類型轉(zhuǎn)換單個對象中的附件。 當我們需要將blob轉(zhuǎn)換為字符串時,我們可以使用toString和valueOf方法在需要時將其轉(zhuǎn)換為字符串。


sObject

這是Salesforce中的特殊數(shù)據(jù)類型。 它類似于SQL中的表,并且包含與SQL中的列類似的字段。 有兩種類型的sObjects:Standard和Custom。

例如,Account是一個標準的sObject和任何其他用戶定義的對象(如我們創(chuàng)建的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

枚舉

枚舉是一種抽象數(shù)據(jù)類型,存儲指定標識符的有限集合的一個值。 您可以使用關(guān)鍵字Enum定義一個枚舉。 枚舉可用作Salesforce中的任何其他數(shù)據(jù)類型。


例如:

假設(shè),你想聲明化合物的可能名稱,那么你可以這樣做:

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

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號