Junior — Middle
Программалоо тилинде негизги маалымат түрлөрүн жана шилтемели объекттерди кантип айырмалоо керек?
sobes.tech AI
AIден жооп
Программалоо тилдеринде негизги маалымат түрлөрү (примитивдер) жана шилтемелүү объекттер сактоо жана өткөрүүдө айырмаланат.
- Негизги маалымат түрлөрү (мисалы, Java/Androidда int, float, boolean) стекте сакталат жана түздөн-түз маанини камтыйт. Өзгөрмө өткөрүлгөндө, мааниси көчүрүлөт.
- Шилтемелүү объекттер (мисалы, класстардын объекттери) heapте сакталат, жана өзгөрмөдө объектке шилтеме (пойнтер) болот. Өткөрүлгөндө, гана шилтеме көчүрүлөт, объект эмес.
Мисал:
int a = 5;
int b = a; // мааниси 5 көчүрүлөт
b = 10;
// a дагы эле 5
String s1 = new String("hello");
String s2 = s1; // шилтемени көчүрүү
s2 = "world";
// s1 дагы эле "hello" (String Javaда өзгөрүлбөс)
Мындайча айтканда, негизги түрлөрү маалыматтарды түздөн-түз сактайт, ал эми шилтемелүү объекттер — объектке шилтемени колдонуу менен сактайт.