Sobes.tech
Junior — Middle

Spiega il concetto di tipi di riferimento nel linguaggio Java e in cosa differiscono dai tipi primitivi.

sobes.tech AI

Risposta dell'AI

In Java, ci sono due tipi di dati principali: primitivi e di riferimento.

Tipi primitivi (ad esempio, int, boolean, double) memorizzano direttamente i valori. Occupano una dimensione fissa in memoria e vengono passati per valore. Ad esempio, assegnando una variabile a un'altra, viene copiato il valore stesso.

Tipi di riferimento sono oggetti e array. Una variabile di tipo di riferimento memorizza non il valore dell'oggetto stesso, ma un riferimento (indirizzo) alla zona di memoria in cui si trova l'oggetto. Quando si assegna una variabile di riferimento a un'altra, si copia il riferimento, non l'oggetto. Ciò significa che entrambe le variabili punteranno allo stesso oggetto.

Esempio:

int a = 5;
int b = a; // copia il valore 5
b = 10; // a rimarrà 5

String s1 = new String("hello");
String s2 = s1; // copia il riferimento all'oggetto
s2 = "world"; // s1 rimarrà "hello", poiché String è immutabile

Pertanto, la principale differenza risiede nel modo di memorizzare e trasmettere i dati: i primitivi memorizzano i valori direttamente, mentre i tipi di riferimento memorizzano riferimenti agli oggetti in memoria.