StringBufferin ja StringBuilderin ero

StringBufferin ja StringBuilderin ero
StringBufferin ja StringBuilderin ero

Video: StringBufferin ja StringBuilderin ero

Video: StringBufferin ja StringBuilderin ero
Video: অবশেষে আসল ঘটনা বেরিয়ে এলো যে কারনে মৃ*ত্যু হয়েছে সেই ভাইরাল ক্ষুদে শিল্পী সুমনের । Viral Sumon 2024, Heinäkuu
Anonim

StringBuffer vs StringBuilder

Java on erittäin suosittu oliokieli. Javassa String-luokka sisältää merkkijonon, jota ei voi muokata (kun alustus on tehty). Vaihtoehtoisesti Java-ohjelmointikieli tarjoaa kahden tyyppisiä muuttuvia merkkisarjoja. Eli kun ohjelmoijat joutuvat muokkaamaan tiettyä merkkijonoa (alustamisen jälkeen), heidän on käytettävä StringBuffer- tai StringBuilder-luokkaa String-luokan sijasta. StringBuffer otettiin käyttöön JDK 1.0:ssa ja StringBuilder-luokka otettiin käyttöön JDK 1.5:ssä, itse asiassa korvaamaan StringBuffer-luokan (yksisäikeisiin ympäristöihin).

Mikä on StringBuffer?

StringBuffer-luokka otettiin käyttöön JDK 1.0:ssa. StringBuffer-luokka kuuluu java.lang-pakettiin ja on peritty yleisestä java.lang.objectista. Ohjelmoijat eivät voi laajentaa sitä pidemmälle, koska se on viimeinen luokka. StringBuffer-luokka toteuttaa Serialisable-, Appendable- ja CharSequience-liitännät. Luokan StringBuffer objekti voi sisältää merkkijonon, joka on muuttuva ja säikeen turvallinen. Tämä tarkoittaa, että se on hyvin samanlainen kuin String-objekti, mutta merkkijonoa (pituus ja sisältö) voidaan muuttaa milloin tahansa StringBuffer-objektin alustamisen jälkeen. Se tulisi kuitenkin tehdä käyttämällä StringBuffer-luokan tarjoamia erityisiä menetelmiä. StringBuffer-luokassa on kaksi periaateoperaatiota. Ne saadaan append()- ja insert()-menetelmillä. Nämä menetelmät ovat ylikuormitettuja, joten ne pystyvät hyväksymään kaiken tyyppisiä tietoja, kuten kokonaislukuja ja pitkiä. Molemmat menetelmät muuntaa ensin minkä tahansa syötteen merkkijonoksi ja sitten lisää (lisää tai lisää) vastaavan merkkijonon merkit olemassa olevaan Stribbuffer-objektiin. Append()-menetelmä lisää muunnetun merkkijonon olemassa olevan StringBuffer-objektin loppuun, kun taas insert()-metodi lisää syötemerkit määritettyyn lisäyskohtaan.

Mikä on StringBuilder?

StringBuilder-luokka otettiin käyttöön JDK 1.5:ssä. StringBuilder API on hyvin samanlainen kuin StringBuffer API. Itse asiassa StringBuilder-luokka otettiin käyttöön korvaamaan StringBuffer-luokan (yksisäikeisille sovelluksille). StringBuilder-luokka kuuluu java.lang-pakettiin ja on peritty yleisestä java.lang.object-tiedostosta. Se on viimeinen luokka, joten ohjelmoijat eivät voi jatkaa sitä. StringBuilder-luokka toteuttaa Serializable-, Appendable- ja CharSequience-liitäntöjä. Luokan StringBuilder objekti voi sisältää merkkijonon, joka on muuttuva, mutta ei säikeen turvallinen. Tämä tarkoittaa, että se on hyvin samanlainen kuin String-objekti, mutta merkkijonoa voidaan muuttaa milloin tahansa. Mutta StringBuilder-luokka ei tarjoa synkronointia, ja siksi sen väitetään olevan nopeampi kuin StringBuffer-luokan käyttäminen. StringBuilder-luokka tarjoaa append()- ja insert()-metodeja täsmälleen samalla tavalla kuin StringBuffer-luokassa.

Mitä eroa on StringBufferilla ja StringBuilderilla?

Vaikka StringBuilder- ja StringBuffer-luokkia voidaan käyttää muuttuviin merkkisarjoihin Javassa, niillä on keskeinen ero. Toisin kuin StringBuffer-luokka, StringBuilder-luokka ei ole säikeen turvallinen, eikä se tarjoa synkronointia. Siksi on suositeltavaa käyttää StringBuilder-luokkaa StringBuffer-luokan sijasta yksisäikeisissä sovelluksissa, koska StringBuilder-luokan väitetään olevan paljon nopeampi kuin StringBuffer-luokka (normaaliolosuhteissa).

Suositeltava: