Класс
Төмөндөгү codeду карап көрүңүз:
String
өзгөрүлгүс саптарды түзөт. Бул сапка кандайдыр бир операцияны же сапка операцияны колдонсоңуз, натыйжа жаңы сап болот дегенди билдирет. Эгерде бул жаңы сап эч кандай өзгөрмөгө дайындалбаса, операциянын натыйжасы жоголот. Демек, мындай саптар боюнча операциялар сөзсүз түрдө жаңы саптын түзүлүшүнө алып келет. Бул кошумча эстутум жана процессор убактысынын чыгымдарын билдирет. Эгерде сапта көптөгөн операциялар бар болсо, анда класс тарабынан ишке ашырылган динамикалык саптарды колдонуу натыйжалуураак болот StringBuilder
.
String s = "Some text";
int count = 100;
for(int i = 0; i<100;i++){
s+=i;
}
**********************
StringBuilder s = new StringBuilder(110);
int count = 100;
s.append("Some text");
for(int i = 0;i<count;i++){
s.append(i);
}
Жогорудагы code ошол эле көйгөйдү чечет. Биз берилген сапка 100 жаңы субсаптарды кошкондо. Биринчи мисал бул максат үчүн классты колдонот String
, ал анча эффективдүү эмес, анткени ар бир кошумча сап жаңы an objectтин курулушуна алып келет String
. Ал эми бул кошумча эс жана убакытты текке кетирүү. Экинчи мисалда бул маселе класстын жардамы менен чечилет StringBuilder
. Биз класстын an objectисин алдын ала түзөбүз StringBuilder
, андан кийин методду колдонуп, append
түзүлгөн an objectтин мазмунун өзгөртүү менен керектүү сапты түзөбүз StringBuilder
, бирок an objectтин өзүн кайра жаратпастан.
GO TO FULL VERSION