Sobes.tech
Intern

Qual è la differenza tra tipi primitivi e tipi di riferimento?

sobes.tech AI

Risposta dell'AI

I tipi primitivi memorizzano il valore dei dati, mentre i tipi di riferimento memorizzano un riferimento (indirizzo in memoria) a un oggetto.

Tipi primitivi:

  • Occupano una dimensione fissa in memoria.
  • Sono trasmessi per valore (il valore stesso viene copiato).
  • Non sono oggetti e non hanno metodi.
  • Sono usati per dati semplici (numeri, caratteri, valori booleani).
// Tipi primitivi in Java
int count = 10; // Memorizza il valore 10
boolean isValid = true; // Memorizza il valore true

Tipi di riferimento:

  • Occupano una quantità di memoria variabile a seconda dell'oggetto.
  • Sono trasmessi per riferimento (si copia l'indirizzo dell'oggetto).
  • Sono oggetti e hanno metodi.
  • Sono usati per dati complessi (oggetti, array, stringhe).
// Tipi di riferimento in Java
String message = "Ciao"; // message memorizza il riferimento a un oggetto stringa in memoria
Integer number = 20; // Integer è una classe wrapper per il tipo primitivo int, tipo di riferimento

Confronto:

Caratteristica Tipi primitivi Tipi di riferimento
Memorizzazione Valore Riferimento (indirizzo)
Trasmissione Per valore Per riferimento
Dimensione in memoria Fisso Variabile
OOP Non sono oggetti Sono oggetti
Esempio int, boolean, char String, Object, Array