Ainoa tapa lisätä menetelmiin, joilla voidaan tehokkaasti manipulointi String merkkiä on kopioida merkkiä omaan array ja manipuloida niitä suoraan, jolloin String asettaa ylimääräistä askelta ja ylimääräisiä esineitä et saa need.4. Char taulukot ovat nopeampia käsitellä directly.5. Tiukka kytkentä String puskuri voi johtaa odottamattoman korkea muistin käyttöä. Kun StringBuffer toString () luo String, nykyinen oleva joukko pitää merkkijono, riippumatta taulukon koko (eli kapasiteetti StringBuffer). Esimerkiksi StringBuffer jonka kapasiteetti on 10000 merkkiä voi rakentaa jono 10 merkkiä.
Kuitenkin, että 10-merkkijono käyttää edelleen 10000-char array tallentaa 10 merkkiä. Jos StringBuffer on nyt uudelleen luoda toisen 10-merkkijonon, StringBuffer ensimmäinen luo uuden sisäisen 10000-char array rakentaa merkkijono kanssa; sitten uusi String käyttää myös, että 10000-char array tallentaa 10 merkkiä. On selvää, tämä prosessi voi jatkua loputtomiin, käyttämällä valtavia määriä muistia, jossa ei expected.The etuja Strings voidaan tiivistää helppokäyttöisyys, kansainvälistymisen tuki, ja yhteensopivuutta olemassa oleviin rajapintoja.
Useimmat menetelmät odottaa String objekti sijaan char array, ja String esineet palautetaan monia menetelmiä. Haittana Strings kuihtuu joustamattomuutta. Kanssa ylimääräistä työtä, useimmat asiat voit tehdä String esineitä voidaan tehdä nopeammin ja vähemmän väli esine-luominen yläpuolella käyttämällä omat char array manipuloinnin menetelmät.