Dallimi midis StringBuffer dhe StringBuilder

Dallimi midis StringBuffer dhe StringBuilder
Dallimi midis StringBuffer dhe StringBuilder

Video: Dallimi midis StringBuffer dhe StringBuilder

Video: Dallimi midis StringBuffer dhe StringBuilder
Video: Cili është dallimi midis xhindëve dhe shejtanëve? - Dr. Imam Ahmed Kalaja 2024, Korrik
Anonim

StringBuffer vs StringBuilder

Java është një gjuhë shumë e njohur e orientuar drejt objekteve. Në Java, klasa String ofrohet për të mbajtur një sekuencë karakteresh që nuk mund të modifikohen (pasi inicializohen). Përndryshe, gjuha programuese Java ofron dy lloje të sekuencave të ndryshueshme të karaktereve. Kjo do të thotë, kur programuesit duhet të modifikojnë një varg të caktuar (pas inicializimit), ata duhet të përdorin klasën StringBuffer ose klasën StringBuilder, në vend të klasës String. StringBuffer u prezantua në JDK 1.0 dhe klasa StringBuilder u prezantua në JDK 1.5, në fakt si një zëvendësim për klasën StringBuffer (për mjediset me një fije).

Çfarë është StringBuffer?

Klasa StringBuffer u prezantua në JDK 1.0. Klasa StringBuffer i përket paketës java.lang dhe është trashëguar nga java.lang.object gjenerik. Programuesit nuk mund ta zgjerojnë më tej pasi është një klasë përfundimtare. Klasa StringBuffer zbaton ndërfaqet Serializable, Appendable dhe CharSequience. Një objekt i klasës StringBuffer mund të mbajë një sekuencë karakteresh që janë të ndryshueshme dhe të sigurta për thread-in. Kjo do të thotë, është shumë i ngjashëm me një objekt String, por sekuenca e karaktereve (gjatësia dhe përmbajtja) mund të ndryshohet në çdo kohë pas inicializimit të objektit StringBuffer. Sidoqoftë, kjo duhet të bëhet duke përdorur metodat specifike të ofruara nga klasa StringBuffer. Ekzistojnë dy operacione parimore në klasën StringBuffer. Ato sigurohen nga metodat append() dhe insert(). Këto metoda janë të mbingarkuara, kështu që ato janë në gjendje të pranojnë të dhëna të çdo lloji si numër i plotë dhe i gjatë. Të dyja metodat fillimisht transformojnë çdo hyrje në një varg dhe më pas shtojnë (shton ose fut) karakteret e vargut përkatës në objektin ekzistues Stribbuffer. Metoda append() shton vargun e konvertuar në fund të objektit ekzistues StringBuffer, ndërsa metoda insert() do të shtojë karakteret hyrëse në pikën e specifikuar të futjes.

Çfarë është StringBuilder?

Klasa StringBuilder u prezantua në JDK 1.5. StringBuilder API është shumë i ngjashëm me StringBuffer API. Në fakt, klasa StringBuilder u prezantua në fakt si një zëvendësim për klasën StringBuffer (për aplikacionet me një fije të vetme). Klasa StringBuilder i përket paketës java.lang dhe është trashëguar nga java.lang.object gjenerik. Është një klasë përfundimtare dhe kështu programuesit nuk mund ta zgjerojnë atë. Klasa StringBuilder zbaton ndërfaqet Serializable, Appendable dhe CharSequience. Një objekt i klasës StringBuilder mund të mbajë një sekuencë karakteresh që janë të ndryshueshme, por jo të sigurta në thread. Kjo do të thotë, është shumë i ngjashëm me një objekt String, por vargu mund të ndryshohet në çdo kohë. Por klasa StringBuilder nuk ofron sinkronizim, dhe për këtë arsye pretendohet të jetë më e shpejtë se përdorimi i klasës StringBuffer. Klasa StringBuilder ofron metoda append() dhe insert() me funksionalitet saktësisht të ngjashëm si në klasën StringBuffer.

Cili është ndryshimi midis StringBuffer dhe StringBuilder?

Megjithëse, klasat StringBuilder dhe StringBuffer mund të përdoren për sekuenca të ndryshueshme të karaktereve në Java, ato kanë një ndryshim kryesor. Ndryshe nga klasa StringBuffer, klasa StringBuilder nuk është e sigurt në thread dhe nuk ofron sinkronizim. Prandaj, rekomandohet që klasa StringBuilder të përdoret në vend të klasës StringBuffer në aplikacionet me një thread, sepse pretendohet se klasa StringBuilder do të jetë shumë më e shpejtë se klasa StringBuffer (në rrethana normale).

Recommended: