Sobes.tech
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да өзгөрүлбөс)

Мындайча айтканда, негизги түрлөрү маалыматтарды түздөн-түз сактайт, ал эми шилтемелүү объекттер — объектке шилтемени колдонуу менен сактайт.