Java StringBuffer módszer példákkal

a StringBuffer a Java-ban egy szálbiztos, változtatható karaktersorozat, így a StringBuffer osztály segítségével módosítható karakterlánc objektumokat hozhat létre.

a Java post karakterláncában már láttuk, hogy a karakterlánc-objektumok megváltoztathatatlanok, azaz a karakterláncok állandóak; értékeik létrehozása után nem változtathatók meg. Ennek a változhatatlansági tulajdonságnak köszönhetően, amikor olyan karakterlánc-módosítási módszert használ, mint az összefűzés, valójában az történik, hogy egy új karakterlánc jön létre és kerül vissza, amely tartalmazza a művelet eredményét. Ez sok köztes karakterlánc-objektum létrehozásához vezethet, ha a karakterláncot többször módosítják, ami viszont azt jelenti, hogy több memóriát használnak ezekhez a köztes objektumokhoz.

a StringBuffer objektum használatával elkerülheti ezt a problémát, ha több objektumot hoz létre, mivel változtatható. Nem meglepő, hogy a StringBuffer fő műveletei az append and insert metódusok.

Tartalomjegyzék
  1. fontos pontok a Java Stringbufferről
  2. Java StringBuffer konstruktorok
  3. Java StringBuffer módszer példák

fontos pontok a Java Stringbufferről

néhány fontos pont a Java Stringbufferről StringBuffer osztály.

  1. a StringBuffer a Java-ban a String osztály funkcionalitásának nagy részét biztosítja egy kiemelkedő eltéréssel, hogy a StringBuffer változtatható.
  2. a StringBuffer szintén menetbiztos, így a StringBuffer objektum biztonságosan használható több szálon. A StringBuffer osztály módszereit szükség esetén szinkronizáljuk.
  3. minden StringBuffer kapacitással jön létre. Mindaddig, amíg a karakterlánc-pufferben található karaktersorozat hossza nem haladja meg a kapacitást, nem szükséges új belső puffer tömböt kiosztani. Ha a belső puffer túlcsordul, akkor automatikusan nagyobb lesz.
  4. Java 5 tovább StringBuilder osztály is rendelkezésre áll, amely egyenértékű a StringBuffer osztály, de használatra tervezték egy szál. StringBuilder gyorsabb, mivel nem végez szinkronizálást.

Java StringBuffer konstruktorok

a StringBuffer osztályban négy konstruktor van.

  1. StringBuffer()– karakter nélküli karakterlánc-puffert épít fel, amelynek kezdeti kapacitása 16 karakter.
    StringBuffer sb = new StringBuffer();
  2. StringBuffer(int kapacitás)– olyan karakterlánc puffert hoz létre, amelyben nincs karakter és a megadott kezdeti kapacitás.
    StringBuffer sb = new StringBuffer(30);
  3. StringBuffer(CharSequence seq)– olyan karakterlánc-puffert hoz létre, amely ugyanazokat a karaktereket tartalmazza, mint a megadott CharSequence.
    itt CharSequence egy interfész, amely által végrehajtott CharBuffer, szegmens, String, StringBuffer, StringBuilder.
  4. StringBuffer(String str)– a megadott karakterlánc tartalmára inicializált karakterlánc-puffert épít.
    StringBuffer sb = new StringBuffer("Hello");

Java StringBuffer módszer példák

hozzáfűzési módszer

a hozzáfűzési módszer túlterhelt, hogy bármilyen típusú adatot elfogadjon. Ez a módszer hozzáfűzi az adott adattípus karakterlánc-ábrázolását a meglévő pufferhez. A hozzáfűzési módszer mindig hozzáadja ezeket a karaktereket a puffer végén.

public class StringLiteral { public static void main(String args) { StringBuffer sb = new StringBuffer("Hello"); sb.append(" "); sb.append("World").append(" ").append(123); System.out.println("Appended String- " + sb.toString()); }}

kimenet

Appended String- Hello World 123

mint látható a példából hozzáfűzni használják String argumentumként, valamint int argumentumként, mivel túlterhelt ezen adattípusok. Azt is Lánc hozzáfűzni módszer kész ebben a kódsorban –

sb.append("World").append(" ").append(123)

segítségével hozzáfűzni módszer azt is ellenőrizheti az állítást, hogy a húr változhatatlan, ahol a StringBuffer változtatható. A példában egy StringBuffer objektum jön létre, majd az értékeket hozzáfűzi, és a visszaadott hivatkozást egy másik StringBuffer tárolja.

ugyanúgy, ahogy egy karakterlánc létrejön, és az értékek hozzá vannak csatolva, a visszaadott karakterláncra egy másik karakterlánc is hivatkozik.

két StringBuffer hivatkozás egyenlőségének ellenőrzésekor láthatja, hogy mindkettő azonos, míg a String esetében mindkettő eltérő.

public class StringLiteral {public static void main(String args) {// With StringBufferSystem.out.println("StringBuffer...");StringBuffer sb = new StringBuffer("Hello");sb.append(" ");StringBuffer newsb = sb.append("World").append(" ").append(123);if (sb == newsb) {System.out.println("Reference is same");}else {System.out.println("Reference is different");}// With StringSystem.out.println("String...");String str = "Hello";String newstr = str.concat(" ").concat("World").concat(" ").concat("123");if (str == newstr) {System.out.println("Reference is same");}else {System.out.println("Reference is different");}}}

kimenet

StringBuffer...Reference is sameString...Reference is different

beszúrási módszer

beszúrási módszer túlterhelt, hogy bármilyen típusú adatot elfogadjon. Ez a módszer az adott adattípus karakterlánc-ábrázolásának beillesztésére szolgál a meglévő pufferbe. A Beszúrás módszer hozzáadja a karaktereket egy meghatározott ponthoz.

beszúrási módszer két argumentumot vesz fel, először egy egész számot, amely jelzi azt a helyet, ahová a karaktereket be kell illeszteni a pufferbe, a második argumentum pedig a beszúrandó szöveg.

public class StringLiteral { public static void main(String args) { StringBuffer sb = new StringBuffer("Knp"); sb.insert(3, "Code"); System.out.println("String after insert- " + sb); }}

kimenet

String after insert- KnpCode

hossz és kapacitás módszerek

kapacitás()– visszaadja a StringBuffer aktuális kapacitását.

length()– visszaadja a karakterek számát ebben a sorrendben.

public class StringLiteral { public static void main(String args) { StringBuffer sb = new StringBuffer(30); sb.append("Hello"); System.out.println("Capacity of StringBuffer- " + sb.capacity()); System.out.println("Length of StringBuffer- " + sb.length()); }}

kimenet

Capacity of StringBuffer- 30Length of StringBuffer- 5

amint láthatja, a StringBuffer 30 kapacitással jön létre, így a kapacitás 30-ként jelenik meg, ahol a pufferben lévő karakterek száma 5, így a hossz 5-ként jelenik meg.

delete and deleteCharAt metódusok

  • delete (int start, Int end) – eltávolítja a karaktereket ennek a sorozatnak egy részstringjében. start, amely azt jelzi, hogy a kezdő index befogadó, ahol as end, amely azt jelzi, hogy a befejező index kizárólagos.
  • deleteCharAt(int index)– eltávolítja a karaktert a megadott pozícióban ebben a sorrendben.
public class StringLiteral { public static void main(String args) { StringBuffer sb = new StringBuffer("Hello"); sb.delete(1, 4); System.out.println("After deletion- " + sb); System.out.println("Length of StringBuffer- " + sb.length()); }}

kimenet

After deletion- HoLength of StringBuffer- 2
public class StringLiteral {public static void main(String args) {StringBuffer sb = new StringBuffer("Hello");sb.deleteCharAt(4);System.out.println("After deletion- " + sb);System.out.println("Length of StringBuffer- " + sb.length());}}

kimenet

After deletion- HellLength of StringBuffer- 4

Java StringBuffer fordított módszer

/ p>

reverse()– megfordítja a meglévő StringBuffer.

public class StringLiteral {public static void main(String args) {StringBuffer sb = new StringBuffer("Hello");System.out.println("Reversed- " + sb.reverse());}}

kimenet

Reversed- olleH

Java StringBuffer replace method

replace(int start, Int end, String str)– lecseréli a karaktersorozatban szereplő karaktereket (start to end-1) a megadott karakterlánc karaktereivel.

public class StringLiteral {public static void main(String args) {StringBuffer sb = new StringBuffer("Hello");sb.replace(3, 5, "ena");System.out.println("String- " + sb);}}

kimenet

String- Helena
  • Java StringBuilder metódus példákkal
  • miért változhatatlan a String a Java-ban
  • biztonságos a Java String Thread
  • Java String intern() metódus
  • Java String split() metódus
  • Java String split() metódus
  • compact strings a Java 9-ben
  • keresse meg a string hosszát a length () metódus használata nélkül a Java-ban
  • konvertálja a karakterláncot karakterláncba, a karakterláncot pedig karakterláncba a Java-ban

Ez minden a Java StringBuffer témához metódus példákkal. Ha valami hiányzik, vagy van valami megosztani a témával kapcsolatban, kérjük, írjon megjegyzést.

még kedvelheted

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.