Објасните концепт референтних типова у Јави и у чему се разликују од примитивних типова.
sobes.tech АИ
Одговор од АИ
U Javi postoje dva osnovna tipa podataka: primitivni i referentni.
Primitivni tipovi (npr. int, boolean, double) direktno čuvaju vrednosti. Zauzimaju fiksnu veličinu memorije i prosleđuju se po vrednosti. Na primer, pri dodeljivanju jedne promenljive drugoj, kopira se sama vrednost.
Referentni tipovi su objekti i nizovi. Promenljiva referentnog tipa ne čuva vrednost objekta, već referencu (adresu) na memorijsku oblast gde je objekat smešten. Pri dodeljivanju jedne referentne promenljive drugoj, kopira se referenca, a ne objekat. To znači da obe promenljive ukazuju na isti objekat.
Primer:
int a = 5;
int b = a; // kopira vrednost 5
b = 10; // a će ostati 5
String s1 = new String("hello");
String s2 = s1; // kopira referencu na objekat
s2 = "world"; // s1 će ostati "hello", jer je String nepromenljiv
Dakle, glavna razlika je u načinu skladištenja i prenosa podataka: primitivni tipovi direktno čuvaju vrednosti, dok referentni tipovi čuvaju reference na objekte u memoriji.