Tofauti Kati ya String StringBuffer na StringBuilder katika Java

Orodha ya maudhui:

Tofauti Kati ya String StringBuffer na StringBuilder katika Java
Tofauti Kati ya String StringBuffer na StringBuilder katika Java

Video: Tofauti Kati ya String StringBuffer na StringBuilder katika Java

Video: Tofauti Kati ya String StringBuffer na StringBuilder katika Java
Video: String Buffer & String Builder in java in Telugu 2024, Novemba
Anonim

Tofauti Muhimu – String vs StringBuffer vs StringBuilder katika Java

String, StringBuffer na String Builder ni madarasa katika Java. Kamba hutumiwa sana katika programu ya Java. Mara tu kitu cha Kamba kimeundwa, haiwezekani kuibadilisha. Kila wakati mabadiliko yanapotokea kwa Kamba, huunda Kamba mpya. Hata ikiwa ni muunganisho wa Kamba iliyopo inaunda Kamba mpya. Hii husababisha upotezaji wa kumbukumbu. Madarasa ya StringBuffer na StringBuilder katika Java hutumiwa kurekebisha String. Tofauti kuu kati ya String, StringBuffer na StringBuilder katika Java ni kwamba String ni darasa la kuunda kitu cha aina String ambayo ni mlolongo wa wahusika, StringBuffer ni darasa ambalo hutumiwa kurekebisha Strings ambayo hutoa usalama wa nyuzi, na StringBuilder ni darasa ambalo hutumika kurekebisha Kamba ambazo hazitoi usalama wa nyuzi.

String ni nini katika Java?

String class iko kwenye kifurushi cha java.lang. Kila wakati programu inaunda Kamba, ni kitu cha aina ya Kamba. Kamba hazibadiliki maana mara tu kitu kinapoundwa, hakiwezi kubadilishwa. Vitu vilivyoundwa kwa kutumia madarasa ya karatasi kama vile Integer, Byte, Float, Double pia havibadiliki. Mfuatano halisi umeambatanishwa katika nukuu mbili. k.m. "Salamu, Dunia". Kila wakati kamba halisi inapoundwa, Mashine ya Mtandaoni ya Java (JVM) hukagua dimbwi la String mara kwa mara. Ikiwa Kamba ipo, rejeleo la bwawa la mara kwa mara la Kamba hurejeshwa. Ikiwa ni Mfuatano mpya, kipengee hicho kinaundwa katika bwawa la Kamba lisilobadilika.

Tofauti kati ya StringBuffer na StringBuilder katika Java
Tofauti kati ya StringBuffer na StringBuilder katika Java
Tofauti kati ya StringBuffer na StringBuilder katika Java
Tofauti kati ya StringBuffer na StringBuilder katika Java

Kielelezo 01: Mpango wa Java kwa kutumia String, StringBuffer na StringBuilder

Rejea sehemu ya chini ya msimbo.

String s1=“Hujambo”;

s1=s1 + “Dunia”;

System.out.println(s1);

Katika taarifa ya kwanza, s1 inarejelea "Hujambo" katika bwawa la kudumu la String. Katika taarifa ya pili, JVM haibadilishi Kamba iliyopo. Badala yake, inaunda Kamba mpya kama "Hujambo Ulimwengu" na s1 sasa inarejelea Kamba hiyo mpya. Kipengee cha "Hujambo" kinachoondoka bado kipo kwenye bwawa la kawaida la String.

Kama kuna msimbo ambao ni, String s1=”Hujambo”;

String s2=s1;

s1, s2 zote zitakuwa zikirejelea kitu cha Mfuatano "Hujambo".

StringBuffer ni nini katika Java?

StringBuffer darasa hutumika kufanya String objects zibadilike. Kwa hiyo, vitu hivyo vinaweza kurekebishwa. StringBuffer inafafanua wajenzi wanne. StringBuffer(), StringBuffer(int size), StringBuffer(String str), StringBuffer (charSequence ch)

Rejea msimbo ulio hapa chini, StringBuffer s1=new StringBuffer(“Hello”);

s1.ongeza(“Dunia”);

System.out.println(s1);

Katika taarifa ya 1, s1 inarejelea kitu cha "Hujambo" katika lundo. Kitu kinaweza kubadilika kwa sababu kimeundwa kwa kutumia StringBuffer. Katika taarifa ya 2, "Ulimwengu" umeambatishwa kwa kipengee kile kile cha Mfuatano wa "Hujambo".

Vipengee vya mfuatano vilivyoundwa kwa darasa la StringBuffer vinaweza kuhifadhi kumbukumbu. StringBuffer hutoa usalama wa nyuzi kwa sababu nyuzi mbili haziwezi kufikia njia sawa katika darasa la StringBuffer kwa wakati mmoja. Usalama wa nyuzi hupungua utendakazi wa StringBuffer. Darasa la StringBuffer lina mbinu kama vile append(), insert(), reverse(), replace().

StringBuilder ni nini katika Java?

Darasa la StringBuilder hutumika kufanya vitu vya String vibadilike. Kwa hiyo, vitu hivyo vinaweza kurekebishwa. Utendaji ni sawa na StringBuffer, lakini hii haitoi usalama wa nyuzi. StringBuilder ina wajenzi kama vile StringBuilder(), StringBuilder(int size), StringBuilder(String str).

Rejelea msimbo ulio hapa chini.

StringBuilder s1=new StringBuilder(“Hujambo”);

s1.ongeza(“Dunia”);

System.out.println(s1);

Katika taarifa ya 1, s1 inarejelea kitu cha "Hujambo" katika lundo. Kitu kinaweza kubadilika kwa sababu kimeundwa kwa kutumia StringBuilder. Katika taarifa ya 2, "Ulimwengu" umeambatishwa kwa kitu kimoja cha Kamba cha "Hujambo". Hakuna uundaji wa kitu kipya kabisa cha Kamba.

Vitu vya mfuatano vilivyoundwa kwa darasa la StringBuilder vinaweza kuhifadhi kumbukumbu. Tofauti na StringBuffer, StringBuilder haitoi usalama wa nyuzi kwa sababu nyuzi mbili zinaweza kufikia njia sawa katika darasa la StringBuilder wakati huo huo. Darasa la StringBuilder lina mbinu kama vile append(), insert(), reverse(), replace().

Kuna Ufanano Gani Kati ya String, StringBuffer na StringBuilder katika Java?

Zote zinaweza kutumika kuunda Mifuatano

Kuna tofauti gani kati ya String StringBuffer na StringBuilder katika Java?

String vs StringBuffer vs StringBuilder

Mfuatano Mfuatano ni darasa la Java ambalo hutumika kuunda kitu cha aina ya String, ambacho ni mfuatano wa herufi.
StringBuffer StringBuffer ni darasa la Java ambalo hutumika kuunda String objects, ambazo zinaweza kurekebishwa kwa usalama wa nyuzi.
StringBuilder StringBuilder ni darasa ambalo hutumika kuunda vipengee vya nyuzi, ambavyo vinaweza kurekebishwa bila usalama wa nyuzi.
Mutability
Mfuatano Mfuatano ni darasa lisilobadilika.
StringBuffer StringBuffer ni darasa linaloweza kubadilika.
StringBuilder StringBuilder ni darasa linaloweza kubadilika.
Usalama wa nyuzi
Mfuatano Njia za Mfuatano ni salama.
StringBuffer Njia za StringBuffer ni salama kwa uzi na zimesawazishwa.
StringBuilder Mbinu za StringBuilder si salama na hazijasawazishwa.
Utendaji
Mfuatano Mfuatano una kasi.
StringBuffer StringBuffer ni polepole.
StringBuilder StringBuilder ina haraka.

Muhtasari – String vs StringBuffer dhidi ya StringBuilder katika Java

String, StringBuffer na StringBuilder zinaonekana kuwa sawa, lakini zina maana tofauti. Yote haya ni madarasa ya Java. Tofauti kati ya String, StringBuffer na StringBuilder katika Java ni kwamba, String ni darasa kuunda kitu cha aina String, ambayo ni seti ya wahusika, StringBuffer ni darasa ambalo hutumiwa kurekebisha Strings na kutoa usalama wa nyuzi, wakati StringBuilder ni darasa ambalo hutumika kurekebisha Strings ambayo haitoi usalama wa nyuzi.

Pakua Kamba ya PDF dhidi ya StringBuffer dhidi ya StringBuilder katika Java

Unaweza kupakua toleo la PDF la makala haya na uitumie kwa madhumuni ya nje ya mtandao kulingana na dokezo la manukuu. Tafadhali pakua toleo la PDF hapa Tofauti Kati ya String StringBuffer na StringBuilder katika Java

Ilipendekeza: