正如我們所研究的,Apex語言是強(qiáng)類型的,所以Apex中的每個(gè)變量都將使用特定的數(shù)據(jù)類型來聲明。 所有頂點(diǎn)變量初始化為null。 作為最佳實(shí)踐,開發(fā)人員必須確保它應(yīng)該被賦予適當(dāng)?shù)闹?,否則這樣的變量在使用時(shí)將拋出空指針異?;蛉魏挝刺幚淼钠谕?。
Apex支持以下數(shù)據(jù)類型:
在本章中,我們將看看所有的原始數(shù)據(jù)類型,sObjects和枚舉。 我們將在下一章討論集合,類,對象和接口,因?yàn)樗鼈兪且獑为?dú)學(xué)習(xí)的關(guān)鍵主題。
Integer
整數(shù)
任何32位數(shù),不包括任何小數(shù)點(diǎn)。 值的范圍是-2,147,483,648,最大值為2,147,483,647。
例如:我們要聲明一個(gè)變量,它將存儲(chǔ)需要運(yùn)往化學(xué)加工廠買方的桶的數(shù)量。
Integer barrelNumbers = 1000; system.debug(' value of barrelNumbers variable: '+barrelNumbers);
system.debug()是打印變量值的函數(shù),以便我們可以使用它來調(diào)試或知道變量當(dāng)前所保存的值。
將上述代碼粘貼到開發(fā)人員控制臺(tái),然后單擊執(zhí)行。 一旦生成日志,它將顯示變量“barrelNumbers”的值為1000。
Boolean
布爾值
此變量可以是true,false或null。 很多時(shí)候,這種類型的變量可以用作編程中的標(biāo)志來識(shí)別特定條件集或未設(shè)置。
例如:如果我們想將shipmentDispatched設(shè)置為true,那么它可以聲明為:
Boolean shipmentDispatched; shipmentDispatched = true; System.debug('Value of shipmentDispatched '+shipmentDispatched);
Date
日期
這是類型日期的變量。 這只能存儲(chǔ)日期而不是時(shí)間。 為了保存日期和時(shí)間,我們需要將它存儲(chǔ)在DateTime的變量中。
例如:
//ShipmentDate can be stored when shipment is dispatched. Date ShipmentDate = date.today(); System.debug('ShipmentDate '+ShipmentDate);
Long
長
這是一個(gè)不帶小數(shù)點(diǎn)的64位數(shù)字。 當(dāng)您需要的范圍寬于Integer提供的值時(shí),請使用此數(shù)據(jù)類型。
例如:如果我們想存儲(chǔ)公司收入,那么我們將使用數(shù)據(jù)類型為Long。
Long companyRevenue = 21474838973344648L; system.debug('companyRevenue'+companyRevenue);
Object
對象
我們可以將其稱為Apex支持的任何數(shù)據(jù)類型。 例如,Class變量可以是該類的對象,sObject通用類型也是一個(gè)對象,類似Account這樣特定的對象類型也是一個(gè)對象。
例如:
Account objAccount = new Account (Name = 'Test Chemical'); system.debug('Account value'+objAccount);
您還可以創(chuàng)建預(yù)定義類的對象,如下所示:
//Class Name: MyApexClass MyApexClass classObj = new MyApexClass();
這是將被用作類變量的類對象。 不需要執(zhí)行這段代碼,這只是為了參考。
String
串
字符串是單引號(hào)內(nèi)的任何字符集。 它沒有字符數(shù)量的限制,但是堆大小將用于確定,以便Apex程序不應(yīng)該壟斷資源,并且不會(huì)增長太大。
例如:
String companyName = 'Abc International'; System.debug('Value companyName variable'+companyName);
Time
時(shí)間
此變量用于存儲(chǔ)特定時(shí)間。 此變量應(yīng)始終使用系統(tǒng)靜態(tài)方法聲明。
Blob
斑點(diǎn)
Blob是作為對象存儲(chǔ)的二進(jìn)制數(shù)據(jù)的集合。 當(dāng)我們要將Salesforce中的附件存儲(chǔ)到變量中時(shí),將使用此選項(xiàng)。 此數(shù)據(jù)類型轉(zhuǎn)換單個(gè)對象中的附件。 當(dāng)我們需要將blob轉(zhuǎn)換為字符串時(shí),我們可以使用toString和valueOf方法在需要時(shí)將其轉(zhuǎn)換為字符串。
例如:
//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);
枚舉是一種抽象數(shù)據(jù)類型,存儲(chǔ)指定標(biāo)識(shí)符的有限集合的一個(gè)值。 您可以使用關(guān)鍵字Enum定義一個(gè)枚舉。 枚舉可用作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);
更多建議: