Apex - Tipos de Dados

Compreendendo os tipos de dados

A linguagem do Apex é fortemente tipada para que cada variável no Apex seja declarada com o tipo de dados específico. Todas as variáveis ​​do apex são inicializadas como nulas inicialmente. É sempre recomendado para um desenvolvedor certificar-se de que os valores apropriados sejam atribuídos às variáveis. Caso contrário, essas variáveis, quando usadas, lançarão exceções de ponteiro nulo ou quaisquer exceções não tratadas.

O Apex suporta os seguintes tipos de dados -

  • Primitivo (inteiro, duplo, longo, data, data e hora, string, ID ou booleano)

  • Coleções (listas, conjuntos e mapas) (a serem abordadas no Capítulo 6)

  • sObject

  • Enums

  • Classes, objetos e interfaces (a serem abordados nos capítulos 11, 12 e 13)

Neste capítulo, veremos todos os tipos de dados primitivos, sObjects e Enums. Estaremos olhando Coleções, Classes, Objetos e Interfaces nos próximos capítulos, uma vez que são tópicos-chave a serem aprendidos individualmente.

Tipos de dados primitivos

Nesta seção, discutiremos os tipos de dados primitivos suportados pelo Apex.

Inteiro

Um número de 32 bits que não inclui nenhum ponto decimal. O intervalo de valores para isso começa em -2.147.483.648 e o valor máximo é de até 2.147.483.647.

Example

Queremos declarar uma variável que armazenará a quantidade de barris que precisa ser enviada ao comprador da planta de processamento químico.

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

o System.debug() A função imprime o valor da variável para que possamos usar isso para depurar ou saber qual valor a variável possui atualmente.

Cole o código acima no console do desenvolvedor e clique em Executar. Assim que os logs forem gerados, ele mostrará o valor da variável "barrelNumbers" como 1000.

boleano

Essa variável pode ser verdadeira, falsa ou nula. Muitas vezes, esse tipo de variável pode ser usado como sinalizador na programação para identificar se a condição particular está definida ou não.

Example

Se o booleano shipmentDispatched for definido como verdadeiro, ele pode ser declarado como -

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

Encontro

Este tipo de variável indica uma data. Isso só pode armazenar a data e não a hora. Para salvar a data junto com a hora, precisaremos armazená-la na variável de DateTime.

Example

Considere o exemplo a seguir para entender como a variável Date funciona.

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

Longo

Este é um número de 64 bits sem um ponto decimal. Isso é usado quando precisamos de um intervalo de valores mais amplo do que aqueles fornecidos por Integer.

Example

Se a receita da empresa for armazenada, usaremos o tipo de dados como Longo.

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

Objeto

Podemos nos referir a isso como qualquer tipo de dados compatível com o Apex. Por exemplo, a variável de classe pode ser objeto dessa classe, e o tipo genérico sObject também é um objeto e o tipo de objeto específico da mesma forma como Conta também é um objeto.

Example

Considere o exemplo a seguir para entender como a variável bject funciona.

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

Note - Você também pode criar um objeto de classe predefinida, conforme mostrado abaixo -

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

Este é o objeto de classe que será usado como variável de classe.

Corda

String é qualquer conjunto de caracteres entre aspas simples. Não há limite para o número de caracteres. Aqui, o tamanho do heap será usado para determinar o número de caracteres. Isso restringe o monopólio de recursos do programa Apex e também garante que ele não fique muito grande.

Example

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

Tempo

Esta variável é usada para armazenar o tempo particular. Esta variável deve sempre ser declarada com o método estático do sistema.

Blob

O Blob é uma coleção de dados binários que são armazenados como objeto. Isso será usado quando quisermos armazenar o anexo no Salesforce em uma variável. Este tipo de dados converte os anexos em um único objeto. Se o blob for convertido em uma string, então podemos usar os métodos toString e valueOf para o mesmo.

objeto

Este é um tipo de dados especial no Salesforce. É semelhante a uma tabela em SQL e contém campos que são semelhantes a colunas em SQL. Existem dois tipos de objetos - padrão e personalizado.

Por exemplo, Account é um sObject padrão e qualquer outro objeto definido pelo usuário (como o objeto Customer que criamos) é um 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 é um tipo de dado abstrato que armazena um valor de um conjunto finito de identificadores especificados. Você pode usar a palavra-chave Enum para definir um Enum. Enum pode ser usado como qualquer outro tipo de dados no Salesforce.

Example

Você pode declarar os nomes possíveis de Composto Químico executando o seguinte código -

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