You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Current »

StringBuilder og StringBuffer inneholder som String-klassen en sekvens med tegn, men i motsetning til String så kan denne sekvense endres, ved å endre bytte ut enkelt-tegn, og skyte inn, legge til og fjerne tegnsekvenser.

StringBuilder og StringBuffer er klasser som brukes dersom man har behov for å gjøre et større antall manipulasjoner av sekvenser med tegn, altså datatypen char. Klassene vil ha vesentlig bedre ytelse enn ved kontinuerlig manipulasjon av en String. Som man kan lese her, kan man ikke forandre en String, men bruke hele eller deler av innholdet til å lage en ny String. Ved å bruke StringBuilder og StringBuffer til å modifisere eller bygge en tegnsekvens over mange operasjoner kan man altså unngå å etterlate en stor mengde nye ubrukte String-objekter. StringBuilder og StringBuffer er helt like i bruk (forskjellen har med muligheten for parallell bruk), og siden StringBuilder er litt raskere, så anbefales den til vanlig.

StringBuilder sb = new StringBuilder("Testing ");
sb.append("simple usage of ");
sb.append("StringBuilder");
System.out.println(sb);

Viktige metoder

Følgende metoder er de mest vanlige:

  • append(String s) Legger til s (eller String.valueOf(o)) på slutten.
  • insert(int offset, String s) - Setter inn s på posisjon offset
  • delete(int start, int end) - Sletter tegnene fra og med starttil (men ikke med) end
  • replace(int start, int end, String s) - Erstatter en tegnsekvensen fra start til end med s.

For append, insert og replace finnes det varianter for andre datatyper enn String, som bruker String.valueOf, slik at en effektivt kan legge inn en toString()-verdien til alle objekter og verdier i en StringBuilder/StringBuffer.

Mer om StringBuilder og StringBuffer, samt full oversikt over metoder finnes her.

 

  • No labels