StringBuffer and StringBuilder in java in hindi – StringBuffer और StringBuilder क्या है ? जाने हिंदी में

Last Updated on December 28, 2021 by RAJENDRAPRASAD

StringBuffer and StringBuilder in java in hindi – Hello दोस्तों rajhindime.in में आपका स्वागत है |

दोस्तों, पिछले पोस्ट Why String is immutable in java in Hindi | String immutability क्याऔरक्योंहै ? में आपने String immutability, के बारे में  विस्तृत जानकारी प्राप्त की |

आज के इस पोस्ट में आप StringBuffer and StringBuilder के बारे में विस्तार से जानेंगे |

जैसा कि आप जानते हैं, Java में String object immutable है, जिसकी value को एक बार initialize होने के बाद, फिर से change नहीं किया जा सकता |

जब भी हम immutable object की value अथवा state को change करते हैं, तब उस स्थिति में पहले से जो object बना है, उसकी value में परिवर्तन होने की बजाय, नया object create हो जाता है| इसका अर्थ यह है कि पहले वाली value change तो नहीं होती बल्कि उसकी जगह, नया object बन जाता हैं नई value के साथ |

इस तरह old अर्थात पुराना object waste हो जाता है और heap memory  में space  occupy करते रहता है, धीरे धीरे किसी बड़े application के case में heap memory में बहुत सारा garbage जमा हो जाता है, जिसे बाद में Garbage Collection के द्वारा handle किया जाता है |

इसलिए Java में StringBuffer और StringBuilder को लाया गया, जिसका उपयोग करके String को आसानी से Manipulate अर्थात उसकी value में फेर-बदल किया जा सकता है और इससे heap memory में unused object के रूप में कोई wastage / Garbage भी उत्पन्न नहीं होता  |

आइएअब StringBuffer और StringBuilder के बारे में विस्तार से जाने |

StringBuffer और StringBuilder

जब भी हमे किसी program या application में बार – बार किसी String की value को change  करना हो तो, उस स्थिति में StringBuffer और StringBuilder का use किया जाता है |

StringBuffer और StringBuilder दोनोंही java में mutable objectहैं |

इनमें String manipulation के लिएअनेको methods उपलब्ध हैं जैसे, append(), insert(), setCharAt(), setLength() and delete()

StringBuffer और StringBuilder class के object को बार – बार modify किया जा सकता है, और वह भी बिना किसी unused object को छोड़े बगैर, जैसा कि String object  में बिल्कुल नहीं होता |

StringBuffer class java में शुरुआत से ही है जबकि, StringBuilder class को java 5 में introduce किया गया |

StringBuffer और StringBuilder में फर्क बस इतना ही है कि, StringBuffer Class, thread – safe (Synchronised) होते है, जबकि StringBuilder नहीं |

चूँकि, StringBuilder object synchronised नहीं होते, इसलिए ये StringBuffer object  की तुलना में fast execute होते हैं | फिर भी, जहाँ thread safety अर्थात synchronisation बहुत जरुरी हो, वहाँ StringBuffer object को ही use करना चाहिए |

StringBuffer:

StringBuffer यह mutable होते हैं | जहाँ String Class fixed-length, immutable character sequence को represent करते हैं, वहीं StringBuffer Class growable और writable character sequence को represent करते हैं |

StringBuffer में characters और substrings को बीच में अथवा end में append किया जा सकता है |

StringBuffer use करने के लिए सबसे पहले हमे StringBuffer object को create करना होता है |

Syntax :

StringBuffer str = new StringBuffer();

Program 1:

public class StringBufferDemo1 {

	public static void main(String[] args) {
		StringBuffer str = new StringBuffer("Raj");
		str.append("HindiMe");
		System.out.println(str);
	}
}

OutPut:

RajHindiMe

StringBuilder :

StringBuider यह भी mutable होते हैं |

StringBuilder में भीcharacters और substrings को बीच में अथवा end में append किया जा सकता है |

सरल शब्दों में कहे तो, StringBuilder बिल्कुल StringBuffer जैसे ही कार्य करता है और इसमें भी वो सारे methods present है, जो StringBuffer में उपलब्ध है |

फर्क/ difference बस इतना ही है कि, StringBuilder thread – safe नहीं होते |

StringBuilder use करने के लिए भी सबसे पहले हमे StringBuilder object को create करना होता है |

Syntax :

StringBuilder str = new StringBuilder();

Program 2:

public class StringBuilderDemo1 {

	public static void main(String[] args) {
		StringBuilder str = new StringBuilder("Raj");
		str.append("HindiMe");
		System.out.println(str);
	}
}

OutPut:

RajHindiMe

StringBuffer vs StringBuilder:

StringBufferStringBuilder
Java 1 में introduce किया गयाJava 5 में introduce किया गया
Thread-safe और synchronizednot thread-safe और not-synchronized.
StringBuffer को multi-threaded environment में use किया जाता हैStringBuilder को single-threaded environment में use किया जाता है
Performance StringBuilder की तुलना में slow होता हैPerformance StringBuffer की तुलना में fast होता है
Syntax: StringBuffer bfr = new StringBuffer(str);Syntax: StringBuilder bldr = new StringBuilder(str);

StringBuffer को StringBuilder में कैसे बदले ?

Step 1:  सबसे पहले StringBuffer object को, String class में present toString() method का use करके String object में बदले |

StringBuffer sbr = new StringBuffer("RajHindiMe");
		String str = sbr.toString();

Step 2: constructor का use करके StringBulder class का object create करे |

StringBuilder sbl = new StringBuilder(str);

Program 3:

public class StringBufferToStringBuilderDemo1 {

	public static void main(String args[]) {
		StringBuffer sbr = new StringBuffer("RajHindiMe");
		String str = sbr.toString();
		StringBuilder sbl = new StringBuilder(str);
		System.out.println(sbl);
	}
}

Output :

RajHindiMe

StringBuilder को StringBuffer में कैसे बदले ?

Step 1:  सबसे पहले StringBuilder object को, String class में present toString() method का use करके String object में बदले |

Step 2: constructor का use करके StringBuffer class का object create करे |

StringBuffer sbr = new StringBuffer(str);

Program 4:

public class StringBuilderToStringBufferDemo1 {

	public static void main(String args[]) {
		StringBuilder sbl = new StringBuilder("RajHindiMe");
		String str = sbl.toString();
		StringBuffer sbr = new StringBuffer(str);
		System.out.println(sbr);
	}
}

Output :

RajHindiMe

आइए कुछ अन्य program द्वारा विभिन्न method को समझे |

Program 5:

public class StringBuider_insertDemo {

	public static void main(String args[]) {
		StringBuilder sbl = new StringBuilder("RajHindiMe is site to learn Java");
		int pos = sbl.indexOf("site");
		sbl.insert(pos, "best ");
		System.out.println(sbl);
	}
}

Output :

RajHindiMe is best site to learn Java

Program 6:

public class StringBuider_deleteDemo {

	public static void main(String args[]) {
		StringBuilder sbl = new StringBuilder("Raj****HindiMe");
		sbl.delete(3, 7);
		System.out.println(sbl);
	}
}

Output :

RajHindiMe

Program 7:

public class StringBuider_setCharAtDemo {

	public static void main(String args[]) {
		StringBuilder sbl = new StringBuilder("Ra*HindiMe");
		sbl.setCharAt(2, 'j');
		System.out.println(sbl);
	}
}

Output :

RajHindiMe

Program 8 :

public class StringBuffer_setLengthDemo {

	public static void main(String args[]) {
		StringBuffer sbl = new StringBuffer("RajHindiMe");
		sbl.setLength(5);
		System.out.println(sbl);
	}
}

Output :

RajHi

Conclusion – आज आपने क्या सीखा

इस post में आपने जाना कि, जब भी हमे किसी program या application में बार – बार किसी String की value को change  करना हो तो, उस स्थिति में StringBuffer और StringBuilder का use किया जाता है |

आशा है कि, आपको मेरा यह Blog StringBuffer and StringBuilder in java in hindi – StringBuffer and StringBuilder क्याहै ? जाने हिंदी में, जरूर पसंद आया होगा |

अगर आप इस post से related कोई सवाल पूँछना चाहते हैं अथवा कोई सुझाव देना चाहते हैं तो comment करके जरूर बताएं, मैं उसका reply जरूर दूँगा |

इस post को अपना कीमती समय देने के लिए बहुत बहुत धन्यवाद् | फिर मिलेंगें |

2 thoughts on “StringBuffer and StringBuilder in java in hindi – StringBuffer और StringBuilder क्या है ? जाने हिंदी में”

Leave a Comment