Junior — Middle
Comment distinguer les types de données de base des objets de référence dans un langage de programmation?
sobes.tech IA
Réponse de l'IA
Dans les langages de programmation, les types de données de base (primitifs) et les objets référencés diffèrent par leur mode de stockage et de transmission.
- Types de données de base (par exemple, int, float, boolean en Java/Android) sont stockés dans la pile et contiennent directement la valeur. Lors du passage d'une variable, la valeur elle-même est copiée.
- Objets référencés (par exemple, objets de classes) sont stockés dans le tas, et la variable contient une référence (pointeur) vers l'objet. Lors du passage, seule la référence est copiée, pas l'objet lui-même.
Exemple:
int a = 5;
int b = a; // la valeur 5 est copiée
b = 10;
// a est toujours 5
String s1 = new String("hello");
String s2 = s1; // la référence à l'objet est copiée
s2 = "world";
// s1 est toujours "hello" (String en Java est immuable)
Ainsi, les types de base stockent directement les données, tandis que les objets référencés le font via un pointeur vers l'objet en mémoire.