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 |