Type de données Primitive

Le langage Apex utilise les mêmes types de données primitifs que l'API SOAP. Tous les types de données primitifs sont transmis par valeur.

Toutes les variables Apex, qu'elles soient des variables membres de classe ou des variables de méthode, sont initialisées sur null. Assurez-vous d'initialiser vos variables sur les valeurs appropriées avant de les utiliser. Par exemple, initialisez une variable Boolean sur false.

Les types de données primitifs Apex comprennent :

Type de données Description
Blob Une collection de données binaires stockées en tant qu'objet unique. Vous pouvez convertir ce type de données en String ou à partir de String utilisant les méthodes toString et valueOf, respectivement. Les Blobs peuvent être acceptés en tant qu'arguments de services Web, stockés dans un document (le corps d'un document est un Blob), ou envoyés en tant que pièces jointes. Pour plus d'informations, reportez-vous à Classe Crypto.
Boolean Une valeur qui peut être attribuée uniquement à true, false ou null. Par exemple :
Boolean isWinner = true;
Date Une valeur qui indique un jour spécifique. Contrairement aux valeurs Datetime, les valeurs Date ne contiennent aucune information horaire. Les valeurs Date doivent toujours être créées avec une méthode statique système.

Vous ne pouvez pas manipuler une valeur Date, par exemple ajouter des jours, en ajoutant simplement un chiffre à une variable Date. Vous devez utiliser à la place des méthodes Date.

Datetime Une valeur qui indique un jour et une heure spécifiques, telle qu'un horodatage. Les valeurs Datetime doivent toujours être créées avec une méthode statique système.

Vous ne pouvez pas manipuler une valeur Datetime, par exemple ajouter des minutes, en ajoutant simplement un chiffre à une variable Datetime. Vous devez utiliser à la place des méthodes Datetime.

Decimal Un chiffre qui indique un point décimal. Le type Decimal est une valeur de précision arbitraire. Les champs de devise sont automatiquement attribués au type Decimal.
Si vous ne définissez pas explicitement l'échelle, c.-à-d. le nombre de décimales pour un type Decimal qui utilise la méthode setScale, l'échelle est déterminée par l'élément à partir duquel le type Decimal a été créé.
  • Si le Decimal est créé dans le cadre d'une requête, l'échelle est basée sur l'échelle du champ renvoyé à partir de la requête.
  • Si le Decimal est créé à partir d'une String, l'échelle correspond au nombre de caractères après le point décimal de la chaîne.
  • Si le Decimal est créé à partir d'un chiffre non décimal, l'échelle est déterminée en convertissant le nombre en String, puis en utilisant le nombre de caractères après le point décimal.
Double Un chiffre 64 bits qui indique un point décimal. Les types Double ont une valeur minimale de -263 et une valeur maximale de 263-1. Par exemple :
Double d=3.14159;

Notez la notation scientifique (e) pour les Doubles n'est pas prise en charge.

ID N'importe quel identifiant d'enregistrement Force.com de 18 caractères valide. Par exemple :
ID id='00300000003T2PGAA0';

Notez si vous définissez ID sur une valeur de 15 caractères, Apex convertit automatiquement la valeur en représentation de 18 caractères. Toutes les valeurs ID non valides sont rejetées avec une exception d'exécution.

Integer Un chiffre 32 bits qui n'inclut pas de point décimal. Les types Integer ont une valeur minimale de -2 147 483 648 est une valeur maximale de 2 147 483 647. Par exemple :
Integer i = 1;
Long Un chiffre 64 bits qui n'inclut pas de point décimal. Les types Long ont une valeur minimale de -263 et une valeur maximale de 263-1. Utilisez ce type de données lorsque vous avez besoin d'une plage de valeurs plus large que celle fournie par le type Integer. Par exemple :
Long l = 2147483648L;
String N'importe quel jeu de caractères entre guillemets. Par exemple :
String s = 'The quick brown fox jumped over the lazy dog.';

Taille de chaîne : Le nombre de caractères que les types String peuvent inclure est limité. À la place, la limite du segment mémoire est utilisée pour éviter que vos programmes Apex ne soient trop volumineux.

Chaînes vides et espaces de fin : Les valeurs de champ sObject String appliquent les mêmes règles que l'API SOAP : elles ne peuvent jamais être vides (uniquement null), et ne peuvent jamais inclure d'espaces de début et de fin. Ces conventions sont nécessaires pour le stockage de la base de données.

Inversement, les types String dans le langage Apex peuvent être null ou vides, et peuvent inclure des espaces de début et de fin (par exemple pour construire un message).

Le champ sObject de solution, SolutionNote, fonctionne en tant que type String spécial. Si vous avez des solutions HTML activées, toutes les balises HTML utilisées dans ce champ sont vérifiées avant la création ou la mise à jour de l'objet. Si des balises HTML non valides sont saisies, une erreur est générée. Tout JavaScript utilisé dans ce champ est supprimé avant la création ou la mise à jour de l'objet. Dans l'exemple suivant, lorsque la Solution s'affiche dans une page de détail, une mise en forme HTML H1 est appliquée au champ SolutionNote :
trigger t on Solution (before insert) { 

            Trigger.new[0].SolutionNote ='<h1>hello</h1>'; 

}

Dans l'exemple suivant, lorsque la Solution s'affiche dans une page de détail, le champ SolutionNote contient uniquement HelloGoodbye :
trigger t2 on Solution (before insert) {

            Trigger.new[0].SolutionNote =

                         '<javascript>Hello</javascript>Goodbye';

}

Pour plus d'informations, reportez-vous à « Présentation des solutions HTML ».

Séquences d'échappement : Tous les types String dans le langage Apex utilisent les mêmes séquences d'échappement que les chaînes SOQL : \b (retour arrière), \t (tabulation), \n (saut de ligne), \f (saut de page), \r (retour chariot), \" (guillemets), \' (apostrophe) et \\ (barre oblique inverse).

Opérateurs de comparaison : Contrairement à Java, le type String Apex prend en charge l'utilisation des opérateurs de comparaison ==, !=, <, <=, > et >=. Comme le langage Apex utilise des sémantiques de comparaison SOQL, les résultats des types String sont comparés en fonction des paramètres régionaux de l'utilisateur contextuel, et ne sont pas sensibles à la casse. Pour plus informations, reportez-vous à Opérateurs.

Méthodes de chaîne : Comme dans le langage Java, les types String peuvent être manipulés par plusieurs méthodes standard. Pour plus d'informations, reportez-vous à Méthodes String.

Les classes et les déclencheurs Apex sauvegardés (compilés) en utilisant l'API versions 15.0 et supérieures, génèrent une erreur d'exécution si vous attribuez une valeur String trop longue pour le champ.

Time Une valeur qui indique une heure spécifique. Les valeurs Time doivent toujours être créées avec une méthode statique système. Reportez-vous à Méthodes Time.

De plus, deux types de données primitifs non standard ne peuvent pas être utilisés en tant que type de variable ou de méthode, mais figurent dans des méthodes statiques système :

Pour plus d'informations sur le type de données AnyType, reportez-vous à Field Types dans le guide Object Reference for Salesforce and Force.com.

© Copyright 2000–2013 salesforce.com, inc. Tous droits réservés.
Diverses marques de commerce appartenant à leur détenteur respectif.