Apex admite diferentes tipos de datos para almacenar diferentes tipos de variables. A continuación, veremos a profundidad los dos tipos de datos que Salesforce nos brinda: Primitivos y no primitivos.
Los tipos de datos primitivos de Apex son los más básicos proporcionados por Salesforce. Por otro lado, los no primitivos se utilizan para manejar tipos de datos más complejos basados en requerimientos.
Datos Primitivos en Apex
Los tipos de datos primitivos de Apex son datos fundamentales que no se pueden dividir en tipos de datos más simples. A continuación, veremos cuáles son estos datos.
Boolean
- Establece su valor como verdadero o falso, de lo contrario el valor sería nulo.
- Usado como una bandera en Apex para revisar una condición particular.
- Por ejemplo, Boolean isAllowToWrite = false.
String
- Declara un String como cualquier conjunto de carácteres entre comillas.
- Utilizado cuando una cadena de texto o frase necesita ser almacenada o manipulada en Apex.
- E.g. String methodName = ‘executeProcess’;
Integer y Long
- Un Integer puede ser declarado como un valor numérico que no incluye un punto decimal.
- Un Long es declarado como un valor numérico sin un punto decimal y con un valor mínimo de -263 y un valor máximo de 263-1.
- Puede ser usado cuando se requiere almacenar un valor numérico sin punto decimal.
- E.g. Integer number = 13 and Long longNumber = 914567895412345
Decimal y Double
- Declaramos un Decimal como un valor numérico preciso que incluye un punto decimal.
- Puede declararse un Doble como un valor numérico con un punto decimal que tiene un valor mínimo de -263 y un valor máximo de 263-1.
- Un Decimal se utiliza cuando se manejan números que incluyan puntos decimales.
- Podemos utilizar un Doble para números grandes de 64 bits con punto decimal.
- Por ejemplo, Decimal decNumber = 1.897 and Double dobNumber = 34126456789645.0952.
Object
- Podemos utilizar Object para representar cualquier tipo de datos soportados por Apex. De la misma manera, el tipo de dato primitivo sObject. Además de, las clases definidas por el usuario.
- Cuando un objeto declarado necesita convertirse en un tipo de dato específico.
- Por ejemplo, String myString = (String) objectVariable.
Date, Time y Datetime
- Pueden declararse con los métodos de la clase Date y Datetime.
- Se utiliza el método newInstance() para declarar la variable Date y Datetime.
- Puede ser utilizado cuando un Date, Time o Datetime necesitan ser almacenados.
- Por ejemplo, Datetime myDateTime = Datetime.newInstance(1992, 10, 26, 16, 15, 0);
ID
- Puede declarar un ID como cualquier identificador de registro válido con 18 carácteres en Force.com.
- Si un ID de 15 carácteres es establecido, Apex lo convertirá en una representación de 18 carácteres.
- Se utiliza cuando el registro de un objeto en Salesforce necesita ser identificado, actualizado o programado.
- E.g. ID myNewId = ‘40021000005jHu4CAF’.
Blob
- Puede utilizarse el tipo de datos Blob para almacenar una colección de datos binarios como un single object.
- Se utiliza el método valueof de la clase Blob para declarar a la variable lanzando una cadena específica.
- Cuando un archivo adjunto en Salesforce necesita estar almacenado en una variable, se utiliza el tipo de datos Blob.
- Por ejemplo, String text = ‘This is a test’; Blob blobVar = Blob.valueOf(text);
Datos no primitivos en Apex
Colección de Tipos de Datos en Apex
La colección de variables es un tipo de dato que puede ser usada para almacenar diferentes variables del mismo tipo de datos.
Lista
- Una lista es una colección indexada de datos primitivos y no primitivos.
- Además, podemos declararla usando la palabra clave List seguido del tipo de datos entre los caracteres <>. Por ejemplo, List <Account> listAccounts = new List <Account> ();
- Tiene métodos como get(), add(), remove() y set(). Estos métodos son utilizados para manejar elementos en una lista.
- Podemos utilizar listas cuando elementos severos de un tipo de datos particular necesiten ser almacenados en un orden específico.
- Ejemplo: List <Opportunity> listOpps = [SELECT Id FROM Opportunity LIMIT 10];
Set:
- Set es una colección desordenada de elementos únicos para manejar valores no duplicables.
- Por ejemplo, podemos declararlo usando la palabra clave Set, seguido del tipo de datos con los caracteres <>.
- Set tiene métodos como add() y remove () para gestionar elementos en una lista.
- Se utiliza Sets cuando elementos únicos de un tipo de data particular necesita ser almacenado en un orden no específico.
public static Set <Id> getAccountsFromOpp () {
Set <Id> accFromOpp = new Set <Id> ();
List <Opportunity> listOpp = [SELECT AccountId
FROM Opportunity LIMIT 100];
for (Opportunity opp : listOpp) {
accFromOpp.add(opp.AccountId);
}
return accFromOpp;
}
Map:
- Map es una colección de pares clave–valor, donde cada clave se asigna a un solo valor.
- Además, podemos declararla usando la palabra clave Map seguido del tipo de datos de la clave y valor con los caracteres <>.
- Se debe completar los pares especificando la clave–valor usando el operator => dentro de la sintaxis de llaves ({})
- E.g. Map <Integer, String> itemFruitMap = new Map <Integer, String>{105 => ‘Banana’, ‘202’ => ‘Apple’, ‘305’ => ‘Orange’};
- Se utiliza el maps cuando los datos necesitan ser almacenados y son accesibles usando identificaciones o claves.
Enum en los Tipos de Datos de Apex
Las variables Enum son tipos de datos abstractos que especifican un conjunto de constantes.
- Podemos declarar un enum utilizando la palabra clave enum keyword y llaves para listar los posibles valores.
- Se utiliza cuando una variable solo deba tener uno de los conjuntos de valores predefinidos.
- Por ejemplo: public enum Day {SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, SATURDAY};
Para más Información
Si quieres aprender más acerca de Salesforce, puedes visitar el siguiente post: Data Model in Salesforce
[…] Para saber más sobre Salesforce, puedes visitar nuestro último post sobre Tipos de Datos de Apex en Salesforce. […]
[…] Para saber más sobre Apex en Salesforce, puedes visitar nuestro último post sobre Tipos de Datos de Apex en Salesforce […]
[…] Para saber más sobre Decorators en Salesforce, puedes visitar nuestro post sobre Decorator Track en Salesforce. […]
[…] Tipos de Datos en Apex […]