Cili është më i mirë StringBuffer ose StringBuilder?
Cili është më i mirë StringBuffer ose StringBuilder?

Video: Cili është më i mirë StringBuffer ose StringBuilder?

Video: Cili është më i mirë StringBuffer ose StringBuilder?
Video: CS50 2015 - Week 5 2024, Prill
Anonim

Vargu është i pandryshueshëm ndërsa StringBuffer dhe StringBuider janë klasa të ndryshueshme. StringBuffer është fije e sigurt dhe e sinkronizuar ndërsa StringBuilder nuk është, prandaj StringBuilder është më i shpejtë se StringBuffer . String concat + operatori përdor nga brenda StringBuffer ose StringBuilder klasës.

Përkatësisht, cili është më i mirë StringBuffer ose StringBuilder?

Si rezultat, StringBuilder është më i shpejtë se StringBuffer . StringBuffer është i ndryshueshëm. Mund të ndryshojë për sa i përket gjatësisë dhe përmbajtjes. StringBuffers janë të sigurta për thread, që do të thotë se ata kanë metoda të sinkronizuara për të kontrolluar aksesin në mënyrë që vetëm një filli mund të hyjë a StringBuffer kodi i sinkronizuar i objektit në të njëjtën kohë.

Në mënyrë të ngjashme, pse StringBuffer është më i ngadalshëm se StringBuilder? Objekti i krijuar përmes StringBuffer ruhet në grumbull. StringBuffer ka të njëjtat metoda si StringBuilder , por çdo metodë në StringBuffer është i sinkronizuar d.m.th StringBuffer është fije e sigurt. Kështu StringBuilder është më i shpejtë se sa të StringBuffer kur thirren të njëjtat metoda të secilës klasë.

Nga kjo, cili është ndryshimi midis StringBuffer dhe StringBuilder?

StringBuilder . StringBuilder është e njëjtë me StringBuffer , domethënë ruan objektin në grumbull dhe gjithashtu mund të modifikohet. Kryesor dallimi ndërmjet të StringBuffer dhe StringBuilder eshte ajo StringBuilder nuk është fije e sigurt. StringBuilder është i shpejtë pasi nuk është i sigurt me fije.

Kur duhet të përdor StringBuffer?

Nëse vlera e objektit mund të ndryshojë dhe do të arrihet vetëm nga një thread, përdorni një StringBuilder sepse StringBuilder është i pasinkronizuar. Në rast se vlera e objektit mund të ndryshojë dhe do të modifikohet nga fije të shumta, përdorni a StringBuffer sepse StringBuffer është i sinkronizuar.

Recommended: