The nadelen van de uitvoering String are1. Niet in staat om subklasse String betekent dat het niet mogelijk is om het gedrag toe te voegen aan String voor uw eigen needs.2. Het vorige punt betekent dat alle toegang moet worden door de beperkte set van de momenteel beschikbare String methoden, het opleggen van extra overhead.3.
De enige manier om het aantal methoden waarmee efficiënte manipulatie van String karakters te verhogen is om de karakters te kopiëren naar je eigen array en direct manipuleren hen, in welk geval String is het opleggen van een extra stap en extra objecten die je misschien niet need.4. Char arrays zijn sneller directly.5 verwerken. De strakke koppeling met String Buffer kan leiden tot onverwacht hoge geheugengebruik.
Wanneer StringBuffer toString () maakt een string, actuele onderliggende array bevat de tekenreeks, ongeacht de grootte van de matrix (dat wil zeggen, het vermogen van de StringBuffer). Zo kan een StringBuffer met een capaciteit van 10.000 karakters een reeks van 10 karakters bouwen. Echter, dat 10-tekenreeks blijft een 10.000-array van karakters te gebruiken om de 10 tekens op te slaan. Als de StringBuffer nu wordt hergebruikt om een andere 10-tekenreeks te creëren, de StringBuffer eerste creëert een nieuwe interne 10.
000 char array naar de string met bouwen; dan is de nieuwe String maakt ook gebruik van dat 10.000 char array naar de 10 tekens op te slaan. Uiteraard kan dit proces voor onbepaalde tijd voort te zetten, met behulp van enorme hoeveelheden geheugen waarin niet expected.The voordelen van de snaren kan worden samengevat als gebruiksgemak, internationalisatie ondersteuning en compatibiliteit met bestaande interfaces. De meeste methoden verwachten een String-object in plaats van een char array en String objecten worden geretourneerd door vele methoden.
Het nadeel van Strings komt neer op inflexibiliteit. Met extra werk, kan de meeste dingen die je