በጃቫ ውስጥ በ String StringBuffer እና StringBuilder መካከል ያለው ልዩነት

ዝርዝር ሁኔታ:

በጃቫ ውስጥ በ String StringBuffer እና StringBuilder መካከል ያለው ልዩነት
በጃቫ ውስጥ በ String StringBuffer እና StringBuilder መካከል ያለው ልዩነት

ቪዲዮ: በጃቫ ውስጥ በ String StringBuffer እና StringBuilder መካከል ያለው ልዩነት

ቪዲዮ: በጃቫ ውስጥ በ String StringBuffer እና StringBuilder መካከል ያለው ልዩነት
ቪዲዮ: Beda Dewa, Malaikat, Danyang, Leluhur 2024, ህዳር
Anonim

የቁልፍ ልዩነት - ሕብረቁምፊ vs StringBuffer vs StringBuilder በጃቫ

String፣ StringBuffer እና String Builder በጃቫ ውስጥ ክፍሎች ናቸው። ሕብረቁምፊ በጃቫ ፕሮግራሚንግ ውስጥ በሰፊው ጥቅም ላይ ይውላል። አንዴ የ String ነገር ከተፈጠረ እነሱን መቀየር አይቻልም። በሕብረቁምፊው ላይ ለውጥ በተፈጠረ ቁጥር አዲስ ሕብረቁምፊ ይፈጥራል። ከነባሩ ሕብረቁምፊ ጋር መጋጠሚያ ቢሆንም እንኳን አዲስ ሕብረቁምፊ ይፈጥራል። ይህ የማስታወስ ብክነትን ያስከትላል. StringBuffer እና StringBuilder በJava ውስጥ ያሉ ክፍሎች ሕብረቁምፊን ለማሻሻል ይጠቅማሉ። በጃቫ ውስጥ በ String, StringBuffer እና StringBuilder መካከል ያለው ቁልፍ ልዩነት String የቁምፊዎች ቅደም ተከተል የሆነ የሕብረቁምፊ አይነት ለመፍጠር ክፍል ነው, StringBuffer የክር ደህንነትን የሚያቀርቡ ሕብረቁምፊዎችን ለማሻሻል የሚያገለግል ክፍል ነው, እና StringBuilder የክር ደህንነትን የማይሰጡ ሕብረቁምፊዎችን ለማሻሻል የሚያገለግል ክፍል።

ሕብረቁምፊ በጃቫ ምንድን ነው?

የሕብረቁምፊ ክፍል በ java.lang ጥቅል ውስጥ ነው። በእያንዳንዱ ጊዜ ፕሮግራመርው ሕብረቁምፊን በፈጠረ ቁጥር የ String አይነት ነገር ነው. ሕብረቁምፊዎች የማይለወጡ ትርጉም ናቸው አንዴ ዕቃው ከተፈጠረ ሊለወጥ አይችልም። እንደ ኢንቲጀር፣ ባይት፣ ተንሳፋፊ፣ ድርብ ያሉ የመጠቅለያ ክፍሎችን በመጠቀም የተፈጠሩ ነገሮች እንዲሁ የማይለወጡ ናቸው። የሕብረቁምፊ ቃል በቃል በድርብ ጥቅሶች ውስጥ ተዘግቷል። ለምሳሌ. "ሰላም ልዑል". ቃል በቃል ሕብረቁምፊ በተፈጠረ ቁጥር ጃቫ ቨርቹዋል ማሽን (JVM) የ String ቋሚ ገንዳውን ይፈትሻል። ሕብረቁምፊው ካለ፣ የሕብረቁምፊ ቋሚ ገንዳ ማጣቀሻ ይመለሳል። አዲስ ሕብረቁምፊ ከሆነ ያ ነገር የተፈጠረው በ String ቋሚ ገንዳ ውስጥ ነው።

በጃቫ ውስጥ በ String StringBuffer እና StringBuilder መካከል ያለው ልዩነት
በጃቫ ውስጥ በ String StringBuffer እና StringBuilder መካከል ያለው ልዩነት
በጃቫ ውስጥ በ String StringBuffer እና StringBuilder መካከል ያለው ልዩነት
በጃቫ ውስጥ በ String StringBuffer እና StringBuilder መካከል ያለው ልዩነት

ምስል 01፡ የጃቫ ፕሮግራም String፣ StringBuffer እና StringBuilder

ከታች ያለውን ኮድ ይመልከቱ።

ሕብረቁምፊ s1="ሄሎ"፤

s1=s1 + “ዓለም”፤

System.out.println(s1)፤

በመጀመሪያው መግለጫ s1 የሚያመለክተው በ String ቋሚ ገንዳ ውስጥ ያለውን "ሄሎ" ነው። በሁለተኛው መግለጫ JVM ነባሩን ሕብረቁምፊ አይለውጥም. በምትኩ፣ እንደ “ሄሎ ዓለም” አዲስ ሕብረቁምፊ ይፈጥራል እና s1 አሁን ያንን አዲሱን ሕብረቁምፊ እየጠቀሰ ነው። የ"ሄሎ" ነገር አሁንም በ String ቋሚ ገንዳ ውስጥ አለ።

ኮድ ካለ እሱም

ሕብረቁምፊ s1="ሄሎ"፤

ሕብረቁምፊ s2=s1፤

s1,s2 ሁለቱም የሕብረቁምፊውን ነገር "ሄሎ" ያመለክታሉ።

StringBuffer በጃቫ ምንድን ነው?

StringBuffer ክፍል የሕብረቁምፊ ዕቃዎችን ተለዋዋጭ ለማድረግ ይጠቅማል። ስለዚህ, እነዚህ ነገሮች ሊሻሻሉ ይችላሉ. StringBuffer አራት ግንበኞችን ይገልፃል። StringBuffer() StringBuffer(int size)፣ StringBuffer(String str)፣ StringBuffer (charSequence ch)

ከታች ያለውን ኮድ ይመልከቱ፣

StringBuffer s1=አዲስ StringBuffer("ሄሎ")፤

s1.append("አለም")፤

System.out.println(s1)፤

በመግለጫ 1፣ s1 የሚያመለክተው በአንድ ክምር ውስጥ ያለውን “ሄሎ” ነገር ነው። ነገሩ የሚለዋወጥ ነው ምክንያቱም StringBuffer በመጠቀም የተፈጠረ ነው። በአረፍተ ነገር 2 ላይ፣ "አለም" ከተመሳሳይ የ"ሄሎ" ሕብረቁምፊ ነገር ጋር ተያይዟል።

በ StringBuffer ክፍል የተፈጠሩ የሕብረቁምፊ ነገሮች ማህደረ ትውስታን መቆጠብ ይችላሉ። StringBuffer የክር ደህንነትን ይሰጣል ምክንያቱም ሁለት ክሮች በ StringBuffer ክፍል ውስጥ አንድ አይነት ዘዴ በአንድ ጊዜ መድረስ አይችሉም። የክር ደህንነት StringBuffer አፈጻጸምን ይቀንሳል። StringBuffer ክፍል እንደ አባሪ() ፣ አስገባ() ፣ reverse() ፣ ምትክ()። ያሉ ዘዴዎችን ይይዛል።

StringBuilder በጃቫ ምንድን ነው?

StringBuilder ክፍል የሕብረቁምፊ ዕቃዎችን ተለዋዋጭ ለማድረግ ይጠቅማል። ስለዚህ, እነዚህ ነገሮች ሊሻሻሉ ይችላሉ. ተግባራዊነቱ ከ StringBuffer ጋር ተመሳሳይ ነው፣ ነገር ግን ይህ የክር ደህንነትን አይሰጥም።StringBuilder እንደ StringBuilder()፣ StringBuilder(int size)፣ StringBuilder(String str) ያሉ ግንበኞች አሉት።

ከታች ያለውን ኮድ ይመልከቱ።

StringBuilder s1=አዲስ StringBuilder("ሄሎ")፤

s1.append("አለም")፤

System.out.println(s1)፤

በመግለጫ 1፣ s1 የሚያመለክተው በአንድ ክምር ውስጥ ያለውን “ሄሎ” ነገር ነው። ነገሩ የሚለዋወጥ ነው ምክንያቱም StringBuilder በመጠቀም የተፈጠረ ነው። በአረፍተ ነገር 2፣ “ዓለም” ከተመሳሳይ የ“ሄሎ” ሕብረቁምፊ ነገር ጋር ተያይዟል። ሙሉ ለሙሉ አዲስ የሆነ የሕብረቁምፊ ነገር መፍጠር የለም።

ከSringBuilder ክፍል ጋር የተፈጠሩ የሕብረቁምፊ ነገሮች ማህደረ ትውስታን መቆጠብ ይችላሉ። ከ StringBuffer በተለየ StringBuilder የክር ደህንነትን አይሰጥም ምክንያቱም ሁለት ክሮች በ StringBuilder ክፍል ውስጥ አንድ አይነት ዘዴን በአንድ ጊዜ ማግኘት ይችላሉ። StringBuilder ክፍል እንደ አባሪ() ፣ አስገባ() ፣ reverse() ፣ ምትክ()። ያሉ ዘዴዎችን ይይዛል።

በጃቫ ውስጥ በ String, StringBuffer እና StringBuilder መካከል ያለው ተመሳሳይነት ምንድን ነው?

ሁሉም ሕብረቁምፊዎችን ለመፍጠር ጥቅም ላይ ሊውል ይችላል።

በጃቫ ውስጥ በ String StringBuffer እና StringBuilder መካከል ያለው ልዩነት ምንድን ነው?

ሕብረቁምፊ vs StringBuffer vs StringBuilder

ሕብረቁምፊ ሕብረቁምፊው የሕብረቁምፊ አይነት ለመፍጠር የሚያገለግል የጃቫ ክፍል ነው፣ይህም የቁምፊዎች ቅደም ተከተል ነው።
StringBuffer StringBuffer የጃቫ ክፍል ሲሆን የሕብረቁምፊ ዕቃዎችን ለመፍጠር የሚያገለግል ሲሆን ይህም በክር ደህንነት ሊሻሻል ይችላል።
StringBuilder StringBuilder የሕብረቁምፊ ዕቃዎችን ለመፍጠር የሚያገለግል ክፍል ነው፣ይህም ያለክር ደህንነት ሊሻሻል ይችላል።
ተለዋዋጭነት
ሕብረቁምፊ ሕብረቁምፊው የማይለወጥ ክፍል ነው።
StringBuffer StringBuffer የሚቀየር ክፍል ነው።
StringBuilder StringBuilder ተለዋዋጭ ክፍል ነው።
የክር ደህንነት
ሕብረቁምፊ የሕብረቁምፊ ዘዴዎች ደህንነቱ የተጠበቀ ነው።
StringBuffer የ StringBuffer ዘዴዎች በክር-አስተማማኝ እና የተመሳሰሉ ናቸው።
StringBuilder የ StringBuilder ዘዴዎች ደህንነቱ በተጠበቀ ሁኔታ በክር አልተጣመሩም እና አልተመሳሰሉም።
አፈጻጸም
ሕብረቁምፊ ገመዱ ፈጣን ነው።
StringBuffer StringBuffer ቀርፋፋ ነው።
StringBuilder StringBuilder ፈጣን ነው።

ማጠቃለያ - ሕብረቁምፊ vs StringBuffer vs StringBuilder በጃቫ

String፣ StringBuffer እና StringBuilder ተመሳሳይ ይመስላሉ፣ነገር ግን የተለያየ ትርጉም አላቸው። እነዚህ ሁሉ የጃቫ ክፍሎች ናቸው። በጃቫ ውስጥ በ String, StringBuffer እና StringBuilder መካከል ያለው ልዩነት, StringBuilder የቁምፊዎች ስብስብ የሆነ ነገር ለመፍጠር ክፍል ነው, StringBuffer ደግሞ ሕብረቁምፊዎችን ለማሻሻል እና የክር ደህንነትን ለማቅረብ የሚያገለግል ክፍል ነው የክር ደህንነትን የማያቀርብ ሕብረቁምፊዎችን ለማሻሻል የሚያገለግል ክፍል።

የፒዲኤፍ ሕብረቁምፊን ከ StringBuffer vs StringBuilder በጃቫ አውርድ

የዚህን ጽሁፍ ፒዲኤፍ ስሪት አውርደው እንደ ጥቅስ ማስታወሻ ከመስመር ውጭ ዓላማ መጠቀም ይችላሉ። እባኮትን የፒዲኤፍ ሥሪት እዚህ ያውርዱ በጃቫ በ String StringBuffer እና StringBuilder መካከል ያለው ልዩነት

የሚመከር: