Язык Apex строго типизирован, поэтому каждая переменная в Apex будет объявлена с определенным типом данных. Все верхние переменные инициализируются нулевым изначально. Разработчику всегда рекомендуется убедиться, что переменные присвоены правильные значения. В противном случае такие переменные при использовании будут выдавать исключения нулевого указателя или любые необработанные исключения.
Apex поддерживает следующие типы данных —
-
Примитив (целочисленный, двойной, длинный, дата, дата-время, строка, идентификатор или логическое значение)
-
Коллекции (списки, наборы и карты) (будет рассмотрено в главе 6)
-
SObject
-
Перечисления
-
Классы, объекты и интерфейсы (будут рассмотрены в главах 11, 12 и 13)
Примитив (целочисленный, двойной, длинный, дата, дата-время, строка, идентификатор или логическое значение)
Коллекции (списки, наборы и карты) (будет рассмотрено в главе 6)
SObject
Перечисления
Классы, объекты и интерфейсы (будут рассмотрены в главах 11, 12 и 13)
В этой главе мы рассмотрим все примитивные типы данных, sObjects и Enums. Мы будем рассматривать Коллекции, Классы, Объекты и Интерфейсы в следующих главах, поскольку они являются ключевыми темами, которые необходимо изучать индивидуально.
Примитивные типы данных
В этом разделе мы обсудим примитивные типы данных, поддерживаемые Apex.
целое число
32-разрядное число, которое не содержит десятичной точки. Диапазон значений для этого начинается от -2 147 483 648, а максимальное значение — до 2 147 483 647.
пример
Мы хотим объявить переменную, в которой будет храниться количество бочек, которое необходимо отправить покупателю завода химической обработки.
Integer barrelNumbers = 1000; system.debug(' value of barrelNumbers variable: '+barrelNumbers);
Функция System.debug () печатает значение переменной, чтобы мы могли использовать это для отладки или узнать, какое значение переменная содержит в настоящее время.
Вставьте приведенный выше код в консоль разработчика и нажмите «Выполнить». После того, как журналы сгенерированы, тогда будет показано значение переменной «barsNumbers» как 1000.
логический
Эта переменная может иметь значение true, false или null. Часто этот тип переменной можно использовать как флаг в программировании, чтобы определить, установлено или нет определенное условие.
пример
Если Boolean 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-разрядное число без десятичной точки. Это используется, когда нам нужен диапазон значений, более широкий, чем тот, который предоставляется Integer.
пример
Если выручка компании будет сохранена, мы будем использовать тип данных Long.
Long companyRevenue = 21474838973344648L; system.debug('companyRevenue'+companyRevenue);
объект
Мы можем ссылаться на это как любой тип данных, который поддерживается в Apex. Например, переменная Class может быть объектом этого класса, а универсальный тип sObject также является объектом, и аналогично конкретный тип объекта, такой как Account, также является объектом.
пример
Рассмотрим следующий пример, чтобы понять, как работает переменная bject.
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-объект представляет собой набор двоичных данных, которые хранятся в виде объекта. Это будет использоваться, когда мы хотим сохранить вложение в salesforce в переменной. Этот тип данных преобразует вложения в один объект. Если BLOB-объект должен быть преобразован в строку, мы можем использовать методы toString и valueOf для них.
SObject
Это специальный тип данных в Salesforce. Он похож на таблицу в SQL и содержит поля, похожие на столбцы в SQL. Существует два типа объектов sObject: стандартный и пользовательский.
Например, 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 — это абстрактный тип данных, в котором хранится одно значение конечного набора указанных идентификаторов. Вы можете использовать ключевое слово Enum для определения Enum. Enum может использоваться как любой другой тип данных в Salesforce.
пример
Вы можете объявить возможные имена Chemical Compound, выполнив следующий код —