
Salīdzinājuma diagramma
Salīdzinājuma pamats | String | StringBuffer |
---|---|---|
Pamata | String objekta garums ir fiksēts. | StringBuffer garumu var palielināt. |
Izmaiņas | Stīgu objekts ir nemainīgs. | StringBuffer objekts ir mainīgs. |
Veiktspēja | Koncentrācijas laikā tas ir lēnāks. | Tas ir ātrāks savienojuma laikā. |
Atmiņa | Patērē vairāk atmiņas. | Patērē mazāk atmiņas. |
Glabāšana | String pastāvīgs baseins. | Atmiņas kaudze. |
String definīcija
“String” ir klase Java. Klases String objekts ir fiksēts garums, un vissvarīgākais ir atcerēties, ka Stīgu klases objekts ir “nemainīgs”. Kad esat inicializējis String objektu, jūs nevarat to mainīt. Klases String objekts tiek saglabāts virknes konstantā grupā.
Vispirms sapratīsim, ka, veidojot jebkuru virkni; jūs izveidojat tipa virknes objektu. Stīgu konstantes ir arī stīgu objekti.
System.out.println ("Sveiki, tas ir Teckpix risinājums");
Iepriekš minētajā paziņojumā virkne “Hello this is Teckpix Solution” ir virknes konstante.
Tagad ļaujiet mums izprast String objekta savstarpējo atbilstību, izmantojot piemēru.
String str = jauna virkne ("Teckpix"); str.concat ("Solution"); system.out.println (str); // izeja Teckpix
Iepriekš minētajā kodā es mēģināju savienot abas virknes “Teckpix” un “Solution”. Kā mēs zinām, kad tiek izveidota virkne, kas nozīmē, ka tiek veidots String tipa objekts. Līdz ar to virkne “Teckpix” izveido objektu, kura atsauce ir piešķirta virknes objektam “str”. Pēc tam es mēģināju savienot citu virkni “Solution” ar virkni “Teckpix”, izmantojot klases “String” metodi “concat ()”.

StringBuffer definīcija
Klase “StringBuffer” ir klases “String” vienaudžu klase. StringBuffer klase nodrošina vairāk stīgu funkciju. StringBuffer klases objekts ir maināms, jo tā objektu var mainīt. StringBuffer objekta garums ir augams. Varat ievietot rakstzīmes vai apakšvirsrakstus virknes burtu vidū, kas piešķirts StringBuffer objektam vai tā beigās. StringBuffer piešķir vietu 16 papildu rakstzīmēm, ja nav pieprasīts konkrēts garums.
Ļaujiet mums saprast StringBuffer objekta piemērotību, izmantojot piemēru:

StringBuffre Sb = jauns StringBuffer ("Teckpix"); Sb.append ("Risinājums"); system.out.println (Sb); // Output Teckpix risinājums
Kā zināms, StringBuffer objekts ir mainīgs. Metode pievieno () modificē StringBuffer objektu Sb, uz kuru sākotnēji ir piešķirts objekta “Teckpix” atsauce. Metodes pielikums () pievieno jaunu virknes literāro “Solution”, līdz virknes literāram “Teckpix”. Tagad, kad es izdrukāju objektu Sb, tā izdrukās modificēto virknes objektu “Teckpix Solutions”.
Galvenā atšķirība starp virkni un StringBuffer
- Stringobjekta garums ir fiksēts, bet nepieciešamības gadījumā StringBuffer objekta garumu var palielināt.
- Stīgu objekts ir nemainīgs, ti, tā objektu nevar atkārtoti piešķirt, bet StringBuffer objekts ir mainīgs.
- Stringobjekts darbojas lēnāk, bet StringBuffer objekts ir ātrāks.
- String objekts patērē vairāk atmiņas, bet StringBuffer objekti patērē mazāk atmiņas.
- Stringobjekti tiek saglabāti nemainīgā baseinā, bet StringBuffer objekti tiek glabāti kaudzes atmiņā.
Secinājums:
StringBuffer objekti nodrošina virknei vairāk funkcionalitātes, salīdzinot ar klases virkni. Tādēļ ir ieteicams strādāt ar StringBuffer, nevis klases virkni.