Рецоммендед, 2020

Избор Уредника

Разлика између Стринг и СтрингБуффер класе у Јави

Стринг и СтрингБуффер су класе које раде на низовима. СтрингБуффер класа је класа вршњака класе Стринг. Објект класе Стринг је фиксне дужине. Објект класе СтрингБуффер је расипљив. Основна разлика између Стринг и СтрингБуффер је да је објект класе “Стринг” непромјењив . Објект класе “СтрингБуффер” промјењив .

Цомпарисон Цхарт

Основа за поређењеНизСтрингБуффер
БасицДужина објекта Стринг је фиксна.Дужина СтрингБуффера се може повећати.
МодификацијаСтринг објекат је непроменљив.СтрингБуффер објект је промјенљив.
ПерформансеТоком спајања је спорије.То је брже током уланчавања.
МеморијаКонзумира више меморије.Потрошња мање меморије.
СкладиштеСтални константни базен.Хеап Мемори.

Дефиниција стринга

“Стринг” је класа у Јави. Објект класе Стринг је фиксне дужине, а најважније је запамтити да је објект класе Стринг "непромјењив". Када иницијализујете објекат Стринг, не можете поново да измените тај објекат. Објект класе Стринг је похрањен у Стринг константном скупу.

Хајде да прво разумемо да, кад год креирате било који низ; креирате објекат типа стринг. Константе низа су и стринг објекти.

 Систем.оут.принтлн ("Хелло тхис ис Тецкпик Солутион"); 

У претходној изјави, стринг "Хелло тхис ис Тецкпик Солутион" је константа низа.

Сада ћемо разумети промењивост Стринг објекта уз помоћ примера.

 Стринг стр = нев Стринг ("Тецкпик"); стр.цонцат ("Солутион"); систем.оут.принтлн (стр); // оутпут Тецкпик 

У горњем коду, покушао сам спојити два низа "Тецкпик" и "Солутион". Као што знамо кад год се креира низ који значи да је објекат типа Стринг креиран. Дакле, стринг “Тецкпик” ствара објекат, чија је референца додељена стринг објекту “стр”. Затим сам покушао да спојим други низ "Солутион" са низом "Тецкпик" користећи методу "цонцат ()" класе Стринг.

Пошто су Стринг објекти непроменљиви, не врши се никаква модификација низа „Тецкпик“, а нови стринг „Солутион“ ствара други објекат у низу константних низова. Али, референца на објекат “Решење” није ухваћен од стране било ког објекта па је референца на решење објекта изгубљена иако је још увек присутна у низу константних низова. Пошто није извршена модификација објекта Тецкпик, када одштампам објекат стр на који сам раније доделио референцу Тецкпик-а, одштампаће се само стринг “Тецкпик”.

Дефиниција СтрингБуффер-а

Класа “СтрингБуффер” је класа вршњака класе “Стринг”. Класа СтрингБуффер пружа више функционалности низовима. Објект класе СтрингБуффер је промјенљив и његов објект се може мијењати. Дужина СтрингБуффер објекта је расипљива. Можете убацити знакове или поднизове у средини низа стрингова који је додељен СтрингБуффер објекту или на крају њега. СтрингБуффер додељује простор за 16 додатних знакова када се не захтева специфична дужина.

Размотримо промењивост објекта СтрингБуффер уз помоћ примера:

 СтрингБуффре Сб = нев СтрингБуффер ("Тецкпик"); Сб.аппенд ("Решење"); систем.оут.принтлн (Сб); // Оутпут Тецкпик Солутион 

Као што знамо да је СтрингБуффер објект промјенљив. Метода аппенд () модификује СтрингБуффер објекат Сб коме је у почетку додељена референца објекта “Тецкпик”. Метода аппенд () додаје нови стринг литерал “Солутион”, на крај стринг литерала “Тецкпик”. Сада када одштампам објекат Сб, одштампаће се модификовани објекат стринга „Тецкпик Солутионс“.

Кључна разлика између низова и стрингова

  1. Дужина објекта Стринг је фиксна, али дужина објекта СтрингБуффер може бити повећана када је то потребно.
  2. Стринг објекат је непроменљив, тј. Његов објекат се не може поново доделити, док је објекат СтрингБуффер-а промењив.
  3. Стринг објект је спорији у перформансама док је СтрингБуффер објекат бржи.
  4. Стринг објекат троши више меморије док СтрингБуффер објекти троше мање меморије.
  5. Стринг објекти су похрањени у константном скупу, док су објекти СтрингБуффер похрањени у меморији хеап-а.

Закључак:

СтрингБуффер објекти пружају више функционалности низовима у поређењу са класом Стринг. Стога је пожељно радити са СтрингБуффер-ом умјесто класе Стринг.

Top