Արդյո՞ք StringBuilder-ն ավելի արագ է, քան տողերի միացումը:
Արդյո՞ք StringBuilder-ն ավելի արագ է, քան տողերի միացումը:

Video: Արդյո՞ք StringBuilder-ն ավելի արագ է, քան տողերի միացումը:

Video: Արդյո՞ք StringBuilder-ն ավելի արագ է, քան տողերի միացումը:
Video: Hakob Hakobyan & Armen Hovhannisyan - ARDYOQ OVQER EN 2024, Ապրիլ
Anonim

1) The Լարային օբյեկտն անփոփոխ է Java-ում, բայց StringBuffer և StringBuilder փոփոխական օբյեկտներ են: 2) StringBuffer-ը համաժամացվում է, մինչդեռ StringBuilder այն չէ, ինչը դարձնում է StringBuilder ավելի արագ, քան StringBuffer. 3) Միացում «+» օպերատորը ներքուստ իրականացվում է StringBuffer-ի կամ StringBuilder.

Նմանապես կարելի է հարցնել՝ արդյոք լարային ֆորմատն ավելի արագ է, քան կապակցումը:

Հիմնական պատճառն այն է Լարային . ձևաչափը () կարող է ավելի հեշտությամբ տեղայնացվել ռեսուրսների ֆայլերից բեռնված տեքստով, մինչդեռ միացում չի կարող տեղայնացվել առանց յուրաքանչյուր լեզվի համար տարբեր կոդով նոր գործարկվող սարք ստեղծելու: Ժամկետային արդյունքները հետևյալն են. Միացում = 265 միլիվայրկյան:

Բացի այդ, երբ չպետք է օգտագործեք StringBuilder-ը: Այսպիսով օգտագործել StringBuilder-ը երբ պետք է անել լարերի վրա բազմաթիվ փոփոխություններ: Ոչ իսկապես դու պետք է օգտագործի StringBuilder-ը եթե դուք միացնում եք մեծ տողեր կամ ունեք շատ միացումներ, ինչպես օղակում: Ես ընդհանրապես օգտագործել լարային շինարար կոդի ցանկացած բլոկի համար, որը կհանգեցնի երեք կամ ավելի տողերի միացմանը:

Նմանապես, ո՞րն է ավելի արագ տողը կամ StringBuilder-ը:

-ի առարկաները Լարային անփոփոխ են, իսկ StringBuffer-ի օբյեկտները և StringBuilder փոփոխական են։ StringBuffer և StringBuilder նման են, բայց StringBuilder է ավելի արագ և նախընտրելի է StringBuffer-ից մեկ թելային ծրագրի համար: Եթե անհրաժեշտ է թելի անվտանգություն, ապա օգտագործվում է StringBuffer:

Ե՞րբ կարող է ծրագրավորողը օգտագործել string ընդդեմ StringBuilder-ի:

Երբ դեպի օգտագործել որը. Եթե ա լար Այնուհետև ծրագրում անփոփոխ կմնա օգտագործել String դասի օբյեկտ, քանի որ ա Լարային օբյեկտը անփոփոխ է. Եթե լարը կարող է փոփոխություն (օրինակ՝ շատ տրամաբանություն և գործառնություններ շինարարության մեջ լար ) հետո օգտագործելով ա StringBuilder լավագույն տարբերակն է։

Խորհուրդ ենք տալիս: