*   >> Læs Uddannelse artikler >> tech >> web development

Fordel og ulemper ved String Gennemførelse i Java

forvente, enhver efterfølgende ændring af StringBuffer forårsager en ny char array, der skal oprettes, og et array kopi, der skal udføres. For at gøre kopieringen overliggende forekomme på forudsigelige tidspunkter, kan du eksplicit udføre nogle metode, der gør kopiering forekomme, såsom StringBuffer.setLength (). Dette gør det muligt StringBuffers skal genbruges med mere forudsigelige performance.The ulemper ved String implementering ARE1. Ikke at kunne underklasse String betyder, at det ikke er muligt at tilføje adfærd til String for din egen behov.2.

Foregående punkt betyder, at al adgang skal være gennem det begrænsede sæt af aktuelt tilgængelige String metoder, pålægge ekstra overhead.3. Den eneste måde at øge antallet af metoder tillader en effektiv manipulation af String tegn er at kopiere tegnene i din egen array og manipulere dem direkte, i hvilket tilfælde String er indførelse et ekstra skridt og ekstra objekter, som du måske ikke need.4. Char arrays er hurtigere at behandle directly.5. Den tætte kobling med String buffer kan føre til forbrug uventet høj hukommelse.

Når StringBuffer toString () skaber en streng, den aktuelle underliggende matrix holder strengen, uanset størrelsen af ​​array (dvs. kapacitet StringBuffer). For eksempel kan en StringBuffer med en kapacitet på 10.000 tegn opbygge en streng af 10 tegn. Imidlertid fortsætter, at 10-tegn Streng til at bruge en 10.000-char array til at gemme 10 tegn. Hvis StringBuffer nu genanvendes til at skabe en anden streng 10-karakter, StringBuffer først skaber en ny intern 10.000-char array til at bygge strengen med; derefter den nye String bruger også, at 10.000-char array til at gemme 10 tegn.

Naturligvis kan denne proces fortsætte i det uendelige, ved hjælp af store mængder hukommelse, hvor ikke expected.The fordele ved Strings kan opsummeres som brugervenlighed, internationalisering støtte, og kompatibilitet med eksisterende grænseflader. De fleste metoder forventer en String objekt i stedet for en char array, og String objekter er returneret af mange metoder. Ulempen ved Strings koges ned til manglende fleksibilitet.

Med ekstra arbejde, kan de fleste ting, du kan gøre med String objekter gøres hurtigere og med mindre mellemliggende objekt-skabelse overliggende ved at bruge dit eget sæt af char array manipulation metoder.

Page   <<  [1] [2] 
Copyright © 2008 - 2016 Læs Uddannelse artikler,https://uddannelse.nmjjxx.com All rights reserved.