Junior — Middle
Qanday qilib getter orqali qaytarilgan massiv tashqaridan o'zgartirilmasligini ta'minlash mumkin?
sobes.tech AI
AIdan javob
Getter orqali qaytarilgan massiv tashqaridan o'zgartirilmasligi uchun, ichki massiv o'rniga uning nusxasini qaytarish kerak. Aks holda, tashqi kod shunchaki shu massivga havola oladi va uning mazmunini o'zgartirishi mumkin.
Misol:
public class MyClass {
private int[] data;
public MyClass(int[] data) {
this.data = data.clone(); // saqlashda nusxa olish
}
public int[] getData() {
return data.clone(); // ichki holatni himoya qilish uchun nusxasini qaytarish
}
}
Bu yondashuv, getter orqali olingan massivdagi o'zgarishlar ob'ektning ichki holatiga ta'sir qilmasligini ta'minlaydi.