Atšķirība starp StringBuffer un StringBuilder Java

Satura rādītājs:

Atšķirība starp StringBuffer un StringBuilder Java
Atšķirība starp StringBuffer un StringBuilder Java

Video: Atšķirība starp StringBuffer un StringBuilder Java

Video: Atšķirība starp StringBuffer un StringBuilder Java
Video: Баффи в Хогвартсе / Как сделать бобы Гарри Поттера и Челлендж с едой 2024, Novembris
Anonim

Galvenās atšķirības - String vs StringBuffer vs StringBuilder Java versijā

String, StringBuffer un String Builder ir Java klases. Virkne tiek plaši izmantota Java programmēšanā. Kad virknes objekts ir izveidots, tos nav iespējams mainīt. Katru reizi, kad tiek veiktas izmaiņas virknē, tā izveido jaunu virkni. Pat ja tā ir saistība ar esošu virkni, tā izveido jaunu virkni. Tas izraisa atmiņas zudumu. StringBuffer un StringBuilder klases Java tiek izmantotas, lai modificētu String. Galvenā atšķirība starp String, StringBuffer un StringBuilder Java ir tāda, ka String ir klase, lai izveidotu String tipa objektu, kas ir rakstzīmju secība, StringBuffer ir klase, ko izmanto, lai modificētu virknes, kas nodrošina pavedienu drošību, un StringBuilder ir klase, kas tiek izmantota, lai modificētu virknes, kas nenodrošina pavedienu drošību.

Kas ir virkne Java?

Stīgu klase ir java.lang pakotnē. Katru reizi, kad programmētājs izveido virkni, tas ir String tipa objekts. Virknēm ir nemainīga nozīme, kad objekts ir izveidots, to nevar mainīt. Objekti, kas izveidoti, izmantojot iesaiņojuma klases, piemēram, Integer, Byte, Float, Double, arī ir nemainīgi. Virknes literāls ir ievietots dubultpēdiņās. piem. "Sveika pasaule". Katru reizi, kad tiek izveidots virknes burts, Java virtuālā mašīna (JVM) pārbauda virknes konstantes pūlu. Ja virkne pastāv, tiek atgriezta atsauce uz virknes konstantes kopu. Ja tā ir jauna virkne, šis objekts tiek izveidots virknes konstantes pūlā.

Atšķirība starp StringBuffer un StringBuilder Java
Atšķirība starp StringBuffer un StringBuilder Java
Atšķirība starp StringBuffer un StringBuilder Java
Atšķirība starp StringBuffer un StringBuilder Java

Attēls 01: Java programma, kas izmanto String, StringBuffer un StringBuilder

Skatiet tālāk norādīto koda daļu.

String s1="Sveiks";

s1=s1 + “Pasaule”;

System.out.println(s1);

Pirmajā paziņojumā s1 attiecas uz “Sveiki” virknes konstantes pūlā. Otrajā paziņojumā JVM nemaina esošo virkni. Tā vietā tiek izveidota jauna virkne ar nosaukumu “Hello World”, un s1 tagad atsaucas uz šo jauno virkni. Izejošais objekts “Sveiki” joprojām pastāv virknes konstantes pūlā.

Ja ir kods, kas ir

String s1="Sveiki";

String s2=s1;

s1, s2 abi attieksies uz virknes objektu “Sveiki”.

Kas ir StringBuffer Java?

StringBuffer klase tiek izmantota, lai padarītu virknes objektus maināmus. Tāpēc šos objektus var modificēt. StringBuffer definē četrus konstruktorus. StringBuffer(), StringBuffer(int size), StringBuffer(String str), StringBuffer (charSequence ch)

Atsauciet tālāk norādīto kodu, StringBuffer s1=new StringBuffer("Sveiki");

s1.append(“Pasaule”);

System.out.println(s1);

1. paziņojumā s1 attiecas uz objektu “Sveiki” kaudzē. Objekts ir mainīgs, jo tas ir izveidots, izmantojot StringBuffer. 2. paziņojumā "Pasaule" ir pievienots tam pašam "Hello" String objektam.

String objekti, kas izveidoti ar StringBuffer klasi, var ietaupīt atmiņu. StringBuffer nodrošina pavedienu drošību, jo divi pavedieni nevar piekļūt vienai un tai pašai StringBuffer klases metodei vienlaikus. Pavedienu drošības samazināšanās StringBuffer veiktspēja. StringBuffer klase satur tādas metodes kā append(), insert(), reverse(), aizstāt().

Kas ir StringBuilder Java?

StringBuilder klase tiek izmantota, lai padarītu virknes objektus mainīgus. Tāpēc šos objektus var modificēt. Funkcionalitāte ir līdzīga StringBuffer, taču tā nenodrošina pavedienu drošību. StringBuilder ir tādi konstruktori kā StringBuilder(), StringBuilder(int size), StringBuilder(String str).

Skatiet tālāk norādīto kodu.

StringBuilder s1=jauns StringBuilder("Sveiki");

s1.append(“Pasaule”);

System.out.println(s1);

1. paziņojumā s1 attiecas uz objektu “Sveiki” kaudzē. Objekts ir mainīgs, jo tas ir izveidots, izmantojot StringBuilder. 2. paziņojumā "Pasaule" ir pievienots tam pašam "Hello" String objektam. Nav izveidots pilnīgi jauns String objekts.

Stringobjekti, kas izveidoti ar StringBuilder klasi, var ietaupīt atmiņu. Atšķirībā no StringBuffer, StringBuilder nenodrošina pavedienu drošību, jo divi pavedieni var piekļūt vienai un tai pašai metodei klasē StringBuilder. Klase StringBuilder satur tādas metodes kā append(), insert(), reverse(), aizstāt().

Kāda ir līdzība starp String, StringBuffer un StringBuilder Java?

Visu var izmantot, lai izveidotu virknes

Kāda ir atšķirība starp StringBuffer un StringBuilder Java?

String vs StringBuffer vs StringBuilder

String Šī virkne ir Java klase, ko izmanto, lai izveidotu String tipa objektu, kas ir rakstzīmju secība.
StringBuffer StringBuffer ir Java klase, ko izmanto, lai izveidotu virknes objektus, kurus var modificēt ar pavedienu drošību.
StringBuilder StringBuilder ir klase, ko izmanto, lai izveidotu virknes objektus, kurus var modificēt bez pavedienu drošības.
Mainība
String Virka ir nemainīga klase.
StringBuffer StringBuffer ir mainīga klase.
StringBuilder StringBuilder ir mainīga klase.
Pavedienu drošība
String String metodes ir drošas pavedienam.
StringBuffer StringBuffer metodes ir pavedienu drošas un sinhronizētas.
StringBuilder StringBuilder metodes nav drošas un nav sinhronizētas.
Izpilde
String Virkne ir ātra.
StringBuffer StringBuffer ir lēns.
StringBuilder StringBuilder ir ātrs.

Kopsavilkums - String vs StringBuffer vs StringBuilder Java versijā

String, StringBuffer un StringBuilder šķiet viens un tas pats, taču tiem ir atšķirīga nozīme. Visas šīs ir Java klases. Atšķirība starp String, StringBuffer un StringBuilder Java ir tāda, ka String ir klase, lai izveidotu String tipa objektu, kas ir rakstzīmju kopa, StringBuffer ir klase, ko izmanto, lai modificētu virknes un nodrošinātu pavedienu drošību, savukārt StringBuilder ir klase, kas tiek izmantota, lai modificētu virknes, kas nenodrošina pavedienu drošību.

Lejupielādēt PDF String vs StringBuffer vs StringBuilder Java versijā

Varat lejupielādēt šī raksta PDF versiju un izmantot to bezsaistē saskaņā ar atsauces piezīmi. Lūdzu, lejupielādējiet PDF versiju šeit Atšķirība starp StringBuffer un StringBuilder Java versijā

Ieteicams: