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

Аутор: Laura McKinney
Датум Стварања: 3 Април 2021
Ажурирати Датум: 13 Може 2024
Anonim
Section, Week 5
Видео: Section, Week 5

Садржај


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

  1. Упоредни графикон
  2. Дефиниција
  3. Кључне разлике
  4. Закључак

Упоредни графикон

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


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

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

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

Систем.оут.лн ("Здраво ово је Тецкпик решење");

У горњој изјави, низ "Здраво ово је Тецкпик решење" је Стринг константа.

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

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

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


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

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

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

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

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

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

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

Закључак:

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