
- Apex程式設計教程
- Apex - 首頁
- Apex - 概述
- Apex - 環境
- Apex - 示例
- Apex - 資料型別
- Apex - 變數
- Apex - 字串
- Apex - 陣列
- Apex - 常量
- Apex - 決策
- Apex - 迴圈
- Apex - 集合
- Apex - 類
- Apex - 方法
- Apex - 物件
- Apex - 介面
- Apex - DML
- Apex - 資料庫方法
- Apex - SOSL
- Apex - SOQL
- Apex - 安全性
- Apex - 呼叫
- Apex - 觸發器
- Apex - 觸發器設計模式
- Apex - 限制
- Apex - 批處理
- Apex - 除錯
- Apex - 測試
- Apex - 部署
- Apex有用資源
- Apex - 快速指南
- Apex - 資源
- Apex - 討論
Apex - 資料型別
理解資料型別
Apex語言是強型別語言,因此Apex中的每個變數都將宣告為特定資料型別。所有Apex變數最初都初始化為null。始終建議開發人員確保為變數分配正確的值。否則,使用此類變數時,將丟擲空指標異常或任何未處理的異常。
Apex支援以下資料型別:
原始型別(整數、雙精度浮點數、長整數、日期、日期時間、字串、ID或布林值)
集合(列表、集合和對映)(將在第6章中介紹)
sObject
列舉
類、物件和介面(將在第11、12和13章中介紹)
在本章中,我們將瞭解所有原始資料型別、sObject和列舉。由於集合、類、物件和介面是需要單獨學習的關鍵主題,因此我們將在後續章節中介紹它們。
原始資料型別
在本節中,我們將討論Apex支援的原始資料型別。
整數
一個32位數字,不包含任何小數點。此值的範圍從-2,147,483,648開始,最大值高達2,147,483,647。
示例
我們想要宣告一個變數來儲存需要運送到化工廠買家的桶的數量。
Integer barrelNumbers = 1000; system.debug(' value of barrelNumbers variable: '+barrelNumbers);
System.debug()函式列印變數的值,以便我們可以使用它來除錯或瞭解變數當前儲存的值。
將上述程式碼貼上到開發者控制檯中,然後單擊“執行”。生成日誌後,它將顯示變數“barrelNumbers”的值為1000。
布林值
此變數可以為true、false或null。很多時候,這種型別的變數可以用作程式設計中的標誌,以標識特定條件是否已設定。
示例
如果要將布林值shipmentDispatched設定為true,則可以將其宣告為:
Boolean shipmentDispatched; shipmentDispatched = true; System.debug('Value of shipmentDispatched '+shipmentDispatched);
日期
此變數型別表示日期。這隻能儲存日期,不能儲存時間。要儲存日期和時間,我們需要將其儲存在DateTime型別的變數中。
示例
請考慮以下示例以瞭解Date變數的工作方式。
//ShipmentDate can be stored when shipment is dispatched. Date ShipmentDate = date.today(); System.debug('ShipmentDate '+ShipmentDate);
長整數
這是一個64位數字,沒有小數點。當我們需要比整數提供的範圍更廣的值時,可以使用它。
示例
如果要儲存公司收入,則我們將使用Long資料型別。
Long companyRevenue = 21474838973344648L; system.debug('companyRevenue'+companyRevenue);
物件
我們可以將其稱為Apex支援的任何資料型別。例如,類變數可以是該類的物件,sObject通用型別也是一個物件,類似地,特定物件型別(如帳戶)也是一個物件。
示例
請考慮以下示例以瞭解物件變數的工作方式。
Account objAccount = new Account (Name = 'Test Chemical'); system.debug('Account value'+objAccount);
注意 - 你也可以建立預定義類的物件,如下所示:
//Class Name: MyApexClass MyApexClass classObj = new MyApexClass();
這是一個將用作類變數的類物件。
字串
字串是單引號內的任何字元集。它對字元數沒有限制。在這裡,將使用堆大小來確定字元數。這限制了Apex程式對資源的壟斷,並確保它不會變得太大。
示例
String companyName = 'Abc International'; System.debug('Value companyName variable'+companyName);
時間
此變數用於儲存特定時間。此變數應始終使用系統靜態方法宣告。
Blob
Blob是作為物件儲存的二進位制資料的集合。當我們想要將Salesforce中的附件儲存到變數中時,將使用它。此資料型別將附件轉換為單個物件。如果要將blob轉換為字串,則可以使用toString和valueOf方法。
sObject
這是Salesforce中的特殊資料型別。它類似於SQL中的表,幷包含類似於SQL中列的欄位。sObject有兩種型別:標準和自定義。
例如,帳戶是一個標準sObject,任何其他使用者定義的物件(例如我們建立的客戶物件)都是自定義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定義列舉。列舉可以用作Salesforce中的任何其他資料型別。
示例
您可以透過執行以下程式碼來宣告化學化合物的可能名稱:
//Declaring enum for Chemical Compounds public enum Compounds {HCL, H2SO4, NACL, HG} Compounds objC = Compounds.HCL; System.debug('objC value: '+objC);