Sobes.tech
Junior — Middle

Expliquez le concept de types de référence en Java et en quoi ils diffèrent des types primitifs.

sobes.tech IA

Réponse de l'IA

En Java, il existe deux principaux types de données : primitifs et références.

Types primitifs (par exemple, int, boolean, double) stockent directement les valeurs. Ils occupent une taille fixe en mémoire et sont passés par valeur. Par exemple, lors de l'affectation d'une variable à une autre, la valeur elle-même est copiée.

Types de référence sont des objets et des tableaux. Une variable de type de référence stocke non la valeur de l'objet lui-même, mais une référence (adresse) à la zone mémoire où l'objet est situé. Lors de l'affectation d'une variable de référence à une autre, la référence est copiée, pas l'objet. Cela signifie que les deux variables pointeront vers le même objet.

Exemple :

int a = 5;
int b = a; // la valeur 5 est copiée
b = 10; // a restera 5

String s1 = new String("hello");
String s2 = s1; // la référence à l'objet est copiée
s2 = "world"; // s1 restera "hello", car String est immuable

Ainsi, la principale différence réside dans la façon dont les données sont stockées et transmises : les primitifs stockent directement les valeurs, tandis que les types de référence stockent des références aux objets en mémoire.