JavaRush /Java Blog /Random-TK /Amaly mysal bilen Java 8-de StringBuilder synpy

Amaly mysal bilen Java 8-de StringBuilder synpy

Toparda çap edildi
Synp Stringüýtgewsiz setirleri döredýär. Diýmek, haýsydyr bir amaly bir setire ýa-da bir setire amal etseňiz, netije täze setir bolar. Bu täze setir haýsydyr bir üýtgeýjä bellenmese, amalyň netijesi ýitiriler. Şoňa laýyklykda şeýle setirlerdäki amallar hökmany suratda täze setiriň döremegine sebäp bolýar. Bu bolsa goşmaça ýat we prosessor wagt çykdajylaryny aňladýar. Bir setirde köp amal bar bolsa, synp tarapyndan ýerine ýetirilýän dinamiki setirleri ulanmak köplenç has täsirli bolýar StringBuilder.
Amaly mysal bilen Java 8-de StringBuilder synpy - 1
Aşakdaky koda serediň:
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);
}
Aboveokardaky kod şol bir meseläni çözýär. Berlen setire 100 sany täze substr goşanymyzda. Birinji mysal synpy bu maksat bilen ulanýar String, bu gaty täsirli däl, sebäbi her bir aşaky goşmaçanyň täze bir obýektiň gurulmagyna sebäp bolýar String. Bu bolsa ýadyň we wagtyň goşmaça isripidir. Ikinji mysalda bu mesele synpyň kömegi bilen çözülýär StringBuilder. Synpyň obýektini öňünden döredýäris StringBuilder, soň bolsa appenddöredilen obýektiň mazmunyny üýtgedip StringBuilder, ýöne obýektiň özüni täzeden döretmezden zerur setiri döredýäris.
Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION