Middle
რა განსხვავებაა StringBuilder და StringBuffer-ს შორის?
sobes.tech AI
პასუხი AI-სგან
StringBuilder һәм StringBuffer Java-да жолдарны ясау һәм үзгәртү өчен кулланыла, ләкин төп аерма булып тора:
-
Тармакларның куркынычсызлыгы (Thread Safety):
StringBufferтармаклар өчен куркынычсыз. Аның методлары синхронлаштырылган, бу аны күп тармаклы мохитләргә яраклы итә, ләкин эшләү тизлеген киметә.StringBuilderтармаклар өчен куркынычсыз түгел. Аның методлары синхронлаштырылмаган, бу аны бер тармаклы мохиттәStringBufferбелән чагыштырганда тизрәк итә.
-
Үзгәрешлелек (Performance):
StringBuilderгадәттәStringBuffer-дан тизрәк эшли, чөнки синхронлаштыру чыгымнары юк.
-
Куллану:
- Әгәр сез бер тармаклы мохиттә эшлисез яки тармакларның куркынычсызлыгы кирәкмәсә,
StringBuilderкуллану яхшырак, тизрәк эшләү өчен. - Әгәр күп тармаклы мохиттә эшлисез һәм тармакларның куркынычсызлыгы кирәк булса,
StringBufferкулланырга кирәк.
- Әгәр сез бер тармаклы мохиттә эшлисез яки тармакларның куркынычсызлыгы кирәкмәсә,
Куллану үрнәге:
// StringBuffer куллану (тармаклар өчен куркынычсыз)
StringBuffer strBuffer = new StringBuffer("Hello");
strBuffer.append("World");
System.out.println(strBuffer); // Нәтиҗә: HelloWorld
// StringBuilder куллану (тармаклар өчен куркынычсыз түгел, бер тармаклы мохиттә тизрәк)
StringBuilder strBuilder = new StringBuilder("Hello");
strBuilder.append("World");
System.out.println(strBuilder); // Нәтиҗә: HelloWorld