Ero StringBufferin Ja StringBuilderin Välillä

Ero StringBufferin Ja StringBuilderin Välillä
Ero StringBufferin Ja StringBuilderin Välillä

Video: Ero StringBufferin Ja StringBuilderin Välillä

Video: Ero StringBufferin Ja StringBuilderin Välillä
Video: "Более быстрые объекты и массивы" Джил Тене 2024, Marraskuu
Anonim

StringBuffer vs StringBuilder

Java on erittäin suosittu kohdekieli. Java-kielessä String-luokkaan kuuluu merkkijono, jota ei voi muokata (alustamisen jälkeen). Vaihtoehtoisesti Java-ohjelmointikieli tarjoaa kahden tyyppisiä muutettavissa olevia merkkijonoja. Eli kun ohjelmoijien on muokattava tiettyä merkkijonoa (alustamisen jälkeen), heidän on käytettävä StringBuffer-luokkaa tai StringBuilder-luokkaa String-luokan sijaan. StringBuffer esiteltiin JDK 1.0: ssa ja StringBuilder-luokka esiteltiin JDK 1.5: ssä, tosiasiallisesti StringBuffer-luokan korvaajana (yksisäikeisissä ympäristöissä).

Mikä on StringBuffer?

StringBuffer-luokka esiteltiin JDK 1.0: ssa. StringBuffer-luokka kuuluu java.lang-pakettiin ja periytyy yleisestä java.lang.object-tiedostosta. Ohjelmoijat eivät voi laajentaa sitä edelleen, koska se on viimeinen luokka. StringBuffer-luokka toteuttaa Serializable-, Appendable- ja CharSequience-rajapinnat. Luokan StringBuffer objekti voi pitää sisällään merkkijonon, joka on muutettavissa ja säiettä turvallinen. Tämä tarkoittaa, että se on hyvin samanlainen kuin String-objekti, mutta merkkijonoja (pituus ja sisältö) voidaan muuttaa milloin tahansa StringBuffer-objektin alustamisen jälkeen. Tämä tulisi kuitenkin tehdä käyttämällä StringBuffer-luokan tarjoamia erityisiä menetelmiä. StringBuffer-luokassa on kaksi päätoimintoa. Ne tarjotaan append () ja insert () -menetelmillä. Nämä menetelmät ovat ylikuormitettuja,joten he voivat hyväksyä minkä tahansa tyyppisiä tietoja, kuten kokonaisluku ja pitkä. Molemmat menetelmät muuntavat ensin minkä tahansa syötteen merkkijonoksi ja lisää (lisää tai lisää) vastaavan merkkijonon merkit olemassa olevaan Stribbuffer-objektiin. Append () -menetelmä lisää muunnetun merkkijonon olemassa olevan StringBuffer-objektin loppuun, kun taas insert () -menetelmä lisää syötemerkit määritettyyn lisäyskohtaan.

Mikä on StringBuilder?

StringBuilder-luokka esiteltiin JDK 1.5: ssä. StringBuilder-sovellusliittymä on hyvin samanlainen kuin StringBuffer-sovellusliittymä. Itse asiassa StringBuilder-luokka otettiin käyttöön korvaamaan StringBuffer-luokka (yksisäikeisiin sovelluksiin). StringBuilder-luokka kuuluu java.lang-pakettiin ja periytyy yleisestä java.lang.object-tiedostosta. Se on viimeinen luokka, joten ohjelmoijat eivät voi laajentaa sitä. StringBuilder-luokka toteuttaa Serializable-, Appendable- ja CharSequience-rajapinnat. Luokan StringBuilder objekti voi pitää sisällään merkkijonon, joka on muuttuva, mutta ei säiettä 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 () -menetelmät täsmälleen samanlaisilla toiminnoilla kuin StringBuffer-luokassa.

Mitä eroa on StringBufferilla ja StringBuilderilla?

Vaikka StringBuilder- ja StringBuffer-luokkia voidaan käyttää muutettavissa oleviin merkkijonoihin Java-sovelluksessa, niillä on keskeinen ero. Toisin kuin StringBuffer-luokka, StringBuilder-luokka ei ole langattomasti turvallinen eikä tarjoa synkronointia. Siksi on suositeltavaa käyttää StringBuilder-luokkaa StringBuffer-luokan sijaan yksisäikeisissä sovelluksissa, koska StringBuilder-luokan väitetään olevan paljon nopeampi kuin StringBuffer-luokka (normaalioloissa).

Suositeltava: