CodeGym /Java tanfolyam /Java Multithreading /StringBuilder és StringBuffer

StringBuilder és StringBuffer

Java Multithreading
Szint , Lecke
Elérhető

"Csak le kell fednünk a StringBuildert, és akkor azt hiszem, kész is vagyunk."

"Amint azt már tudod, a StringBuilder olyan, mint a String osztály, kivéve, hogy változtatható."

"És arra is emlékszem, hogy a fordító olyan kódot generál, amely a StringBuildert használja, amikor egyszerűen összeadjuk a Stringeket."

"Igen, igazad van. Milyen figyelemre méltó emléked van. Aztán minden robotnak van ilyen. Ezt mindig elfelejtem."

"Nézzük meg, mit tehet a StringBuilder osztály használatával:"

1) Van egy közönséges karakterláncom, és szeretném módosítani. Hogyan csináljam?

String s = "Bender";
StringBuilder s2 = new StringBuilder(s);

2) Hozzá akarok adni egy karaktert egy meglévő változtatható karakterlánchoz?

String s = "Bender";
StringBuilder s2 = new StringBuilder(s);
s2.append("!");

3) És hogyan alakíthatok vissza egy StringBuilder-t Stringgé?

String s = "Bender";
StringBuilder s2 = new StringBuilder(s);
s2.append("!");
s = s2.toString();

4) És ha törölnöm kell egy karaktert?

String s = "Bender";
StringBuilder s2 = new StringBuilder(s);
s2.deleteCharAt(2); //Becomes "Beder"

5) Hogyan cserélhetem ki egy karakterlánc egy részét egy másikra?

String s = "Bender";
StringBuilder s2 = new StringBuilder(s);
s2.replace (3, 5, "_DE_"); //Becomes "Ben_DE_r"

6) Mi van, ha meg kell fordítanom a karakterláncot?

String s = "Bender";
StringBuilder s2 = new StringBuilder(s);
s2.reverse(); //Becomes "redneB";

Köszönöm, Ellie, mindennek van értelme.

"Örülök, hogy tetszett."

– Arra is szeretnélek emlékeztetni, amit Bilaabónak el kellett volna mondania.

"Van egy másik osztály, a StringBuffer . Olyan, mint a StringBuilder , de a metódusai szinkronizáltnak vannak deklarálva . Ez azt jelenti, hogy az egyik metódusának bármely hívása előtt a Java gép ellenőrzi, hogy az objektum foglalt-e; ha nem, akkor a JVM megjelöli. mint foglalt. A metódusból való kilépés után az objektum felszabadul. Ennek eredményeként ezek a hívások lassabbak. Ne használja a StringBuffert , hacsak nem muszáj."

"De ha szüksége van egy változtatható karakterláncra , amelyet több szálon keresztül fog használni, akkor a StringBuffernél jobbat nem fog találni ."

"Köszönöm az infót. Azt hiszem, ez egyszer jól jöhet."

Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION