Sobes.tech
Intern

Care este diferența dintre tipurile primitive și cele referențiale?

sobes.tech AI

Răspuns de la AI

Tipurile primitive stochează valoarea datelor, în timp ce tipurile de referință stochează o referință (adresa în memorie) către un obiect.

Tipuri primitive:

  • Ocupă o dimensiune fixă în memorie.
  • Sunt transmise prin valoare (se copiază valoarea însăși).
  • Nu sunt obiecte și nu au metode.
  • Sunt folosite pentru date simple (numere, caractere, valori booleene).
// Tipuri primitive în Java
int count = 10; // Stochează valoarea 10
boolean isValid = true; // Stochează valoarea true

Tipuri de referință:

  • Ocupă o dimensiune variabilă în memorie, în funcție de obiect.
  • Sunt transmise prin referință (adresa obiectului este copiată).
  • Sunt obiecte și au metode.
  • Sunt folosite pentru date complexe (obiecte, array-uri, șiruri de caractere).
// Tipuri de referință în Java
String message = "Salut"; // message stochează referința la un obiect de tip string în memorie
Integer number = 20; // Integer este o clasă wrapper pentru tipul primitiv int, tip de referință

Comparare:

Caracteristică Tipuri primitive Tipuri de referință
Stocare Valoare Referință (adresă)
Transmitere Prin valoare Prin referință
Dimensiune memorie Fixă Variabilă
OOP Nu sunt obiecte Sunt obiecte
Exemplu int, boolean, char String, Object, Array