StringBuffer vs StringBuilder
Java on väga populaarne objektile orienteeritud keel. Java-s on klass String ette nähtud tähemärkide järjestuseks, mida ei saa muuta (pärast initsialiseerimist). Alternatiivina pakub Java programmeerimiskeel kahte tüüpi muudetavaid tähemärkide järjestusi. See tähendab, et kui programmeerijad peavad teatud stringi muutma (pärast initsialiseerimist), peavad nad klassi String asemel kasutama klassi StringBuffer või StringBuilder. StringBuffer võeti kasutusele JDK 1.0-s ja StringBuilder-klass JDK 1.5-s, tegelikult StringBuffer-klassi asendajana (üheaineliste keskkondade jaoks).
Mis on StringBuffer?
StringBufferi klass tutvustati JDK 1.0-s. Klass StringBuffer kuulub java.lang paketti ja on päritud üldisest java.lang.object. Programmeerijad ei saa seda pikendada, kuna see on viimane klass. Klass StringBuffer rakendab liideseid Serializable, Appendable ja CharSequience. Klassi StringBuffer objekt võib sisaldada muutuvat ja niidikindlat tähemärkide jada. See tähendab, et see on väga sarnane String-objektiga, kuid märkide järjestust (pikkust ja sisu) saab igal ajal muuta pärast StringBufferi objekti initsialiseerimist. Kuid seda tuleks teha klassi StringBuffer pakutavate spetsiifiliste meetodite abil. StringBufferi klassis on kaks põhimõttelist toimingut. Need pakuvad meetodid append () ja insert (). Need meetodid on ülekoormatud,nii et nad suudavad vastu võtta mis tahes tüüpi andmeid, näiteks täisarv ja pikk. Mõlemad meetodid muudavad kõigepealt kõik sisendid stringideks ja lisavad (lisavad või lisavad) vastava stringi tähemärgid olemasolevale Stribbufferi objektile. Meetod app (() lisab teisendatud stringi olemasoleva StringBufferi objekti lõppu, meetod (Lisa) lisab sisendmärgid määratud sisestuspunkti.
Mis on StringBuilder?
StringBuilderi klass tutvustati JDK 1.5-s. StringBuilderi API on väga sarnane StringBufferi API-ga. Tegelikult võeti klass StringBuilder tegelikult kasutusele klassi StringBuffer asendajana (ühe lõimega rakenduste jaoks). Klass StringBuilder kuulub java.lang paketti ja on päritud üldisest java.lang.object. See on viimane klass ja nii ei saa programmeerijad seda pikendada. Klass StringBuilder rakendab liideseid Serializable, Appendable ja CharSequience. Klassi StringBuilder objekt võib sisaldada muutujad, kuid mitte niidikindlat tähemärkide jada. See tähendab, et see sarnaneb väga Stringi objektiga, kuid stringi saab igal ajal muuta. Kuid klass StringBuilder ei paku sünkroonimist ja seetõttu väidetakse, et see on kiirem kui klassi StringBuffer kasutamine. Klass StringBuilder pakub meetodit addend () ja insert () täpselt samasuguse funktsionaalsusega nagu klassis StringBuffer.
Mis vahe on StringBufferil ja StringBuilderil?
Ehkki StringBuilderi ja StringBufferi klasse saab kasutada Java muutuvate märkide järjestuste jaoks, on neil peamine erinevus. Erinevalt klassist StringBuffer pole StringBuilderi klass niiditurvaline ega paku sünkroonimist. Seetõttu on ühe lõimega rakendustes StringBufferi klassi asemel soovitatav kasutada klassi StringBuilder, kuna väidetakse, et StringBuilderi klass on palju kiirem kui klass StringBuffer (tavaolukordades).