Apex: tipos de datos

Comprensión de los tipos de datos

El lenguaje Apex está fuertemente tipado, por lo que cada variable en Apex se declarará con el tipo de datos específico. Todas las variables de ápice se inicializan a nulo inicialmente. Siempre se recomienda que un desarrollador se asegure de que se asignen los valores adecuados a las variables. De lo contrario, dichas variables, cuando se utilizan, arrojarán excepciones de puntero nulo o cualquier excepción no controlada.

Apex admite los siguientes tipos de datos:

  • Primitivo (entero, doble, largo, fecha, fecha y hora, cadena, ID o booleano)

  • Colecciones (listas, conjuntos y mapas) (se tratará en el capítulo 6)

  • sObject

  • Enums

  • Clases, objetos e interfaces (se tratarán en los capítulos 11, 12 y 13)

En este capítulo, veremos todos los tipos de datos primitivos, sObjects y Enums. Analizaremos Colecciones, Clases, Objetos e Interfaces en los próximos capítulos, ya que son temas clave para aprender individualmente.

Tipos de datos primitivos

En esta sección, discutiremos los tipos de datos primitivos compatibles con Apex.

Entero

Un número de 32 bits que no incluye ningún punto decimal. El rango de valores para esto comienza desde -2,147,483,648 y el valor máximo es hasta 2,147,483,647.

Example

Queremos declarar una variable que almacenará la cantidad de barriles que deben enviarse al comprador de la planta de procesamiento químico.

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

los System.debug() La función imprime el valor de la variable para que podamos usar esto para depurar o para saber qué valor tiene la variable actualmente.

Pegue el código anterior en la consola del desarrollador y haga clic en Ejecutar. Una vez que se generen los registros, se mostrará el valor de la variable "barrelNumbers" como 1000.

Booleano

Esta variable puede ser verdadera, falsa o nula. Muchas veces, este tipo de variable se puede utilizar como bandera en la programación para identificar si la condición particular está establecida o no.

Example

Si el envío booleanoDispatched se va a establecer como verdadero, entonces se puede declarar como:

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

Fecha

Este tipo de variable indica una fecha. Esto solo puede almacenar la fecha y no la hora. Para guardar la fecha junto con la hora, necesitaremos almacenarla en la variable DateTime.

Example

Considere el siguiente ejemplo para comprender cómo funciona la variable Fecha.

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

Largo

Este es un número de 64 bits sin punto decimal. Se usa cuando necesitamos un rango de valores más amplio que los proporcionados por Integer.

Example

Si se van a almacenar los ingresos de la empresa, utilizaremos el tipo de datos como Long.

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

Objeto

Podemos referirnos a esto como cualquier tipo de datos que sea compatible con Apex. Por ejemplo, la variable de clase puede ser objeto de esa clase, y el tipo genérico sObject también es un objeto y el tipo de objeto específico similar como Cuenta también es un objeto.

Example

Considere el siguiente ejemplo para comprender cómo funciona la variable bject.

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

Note - También puede crear un objeto de clase predefinida, como se indica a continuación -

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

Este es el objeto de clase que se utilizará como variable de clase.

Cuerda

Cadena es cualquier conjunto de caracteres entre comillas simples. No tiene ningún límite para el número de caracteres. Aquí, el tamaño del montón se utilizará para determinar el número de caracteres. Esto pone un freno al monopolio de los recursos por parte del programa Apex y también asegura que no sea demasiado grande.

Example

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

Hora

Esta variable se usa para almacenar el tiempo en particular. Esta variable siempre debe declararse con el método estático del sistema.

Gota

El Blob es una colección de datos binarios que se almacena como objeto. Esto se utilizará cuando queramos almacenar el archivo adjunto en Salesforce en una variable. Este tipo de datos convierte los archivos adjuntos en un solo objeto. Si el blob se va a convertir en una cadena, entonces podemos hacer uso de los métodos toString y valueOf para el mismo.

sObject

Este es un tipo de datos especial en Salesforce. Es similar a una tabla en SQL y contiene campos que son similares a columnas en SQL. Hay dos tipos de sObjects: estándar y personalizado.

Por ejemplo, Account es un sObject estándar y cualquier otro objeto definido por el usuario (como el objeto Customer que creamos) es un sObject personalizado.

Example

//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 es un tipo de datos abstracto que almacena un valor de un conjunto finito de identificadores especificados. Puede utilizar la palabra clave Enum para definir un Enum. Enum se puede utilizar como cualquier otro tipo de datos en Salesforce.

Example

Puede declarar los posibles nombres de los compuestos químicos ejecutando el siguiente código:

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