Den eneste måten å øke antall metoder som lar effektiv manipulering av String tegn er å kopiere tegnene inn i din egen matrise og manipulere dem direkte, i så fall String er imponerende et ekstra steg og ekstra objektene du kanskje ikke need.4. Char arrays er raskere å behandle directly.5. Den stramme kopling med String Buffer kan føre til uventet høy minnebruk. Når String toString () oppretter en streng, har den aktuelle underliggende matrise strengen, uavhengig av størrelsen på matrisen (dvs. kapasiteten av Stringbuffer). For eksempel kan en Stringbuffer med en kapasitet på 10.
000 tegn bygge en streng på 10 tegn. Men fortsetter som 10-tegns streng å bruke en 10 000-røye array til å lagre 10 tegn. Hvis Stringbuffer er nå gjenbrukt for å opprette en annen 10-tegnstreng, skaper Stringbuffer første en ny intern 10000-char array å bygge strengen med; deretter den nye String bruker også at 10 000-røye array til å lagre 10 tegn. Selvsagt kan denne prosessen fortsette på ubestemt tid, ved hjelp av store mengder minne der ikke ventet.Buffeen fordelene med Strings kan oppsummeres som brukervennlighet, internasjonalisering støtte og kompatibilitet til eksisterende grensesnitt.
De fleste metodene forventer et String objekt snarere enn en røye array, og String objekter returneres av mange metoder. Ulempen med Strings koker ned til manglende fleksibilitet. Med ekstra arbeid, kan de fleste ting du kan gjøre med String gjøres raskere og med mindre mellom objekt-creation overhead ved å bruke ditt eget sett med røye array manipulasjon metoder. Anmeldelser