Meddelande

Minska
No announcement yet.

StringBuffer

Minska
X
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • StringBuffer

    Hej, jag skriver nästan aldrig javakod och har ingen kompilator. Vill bara fråga om denna kod kommer att kasta ett exception vid append-metoden eller om strBuf2 kommer att utökas automatiskt? Vad skrivs ut?

    [kod]
    public static void main(String[] args) {
    // Examples of Creation of Strings

    StringBuffer strBuf2 = new StringBuffer(10);
    strBuf2.append("ABCDEFGHIJKLMNO");
    System.out.println(strBuf2);

    }
    [/kod]
    Microsoft Certified Application Developer

  • #2
    En StringBuffer har två olika parametrar, dess kapacitet och dess längd. 10 i ditt exempel syftar på kapaciteten.

    Kapaciteten avgör hur många tecken du kan lägga till buffern innan den behöver förlängas internt. StringBuffer har en array definierad internt, som kastas bort och ersätts av en ny, större array vid behov. Det är dock inget som du behöver bry dig om som programmerare, annat än av prestandaskäl.

    Om du t ex vet att du kommer lägga till precis 1000 tecken till en StringBuffer kan du välja att skapa en new StringBuffer(1000). Om du skapar en med kapacitet noll eller 16 (standard om du anropar new StringBuffer() utan argument) så beter sig koden funktionellt likadant, om än med något sämre prestanda.

    Dock behöver du i regel inte använda dig av StringBuffer alls om du inte har särskilda skäl till det. Om du konkatenerar två strängar med + så används StringBuffer internt utan att du behöver fundera på saken. Normalt används ju String och inte StringBuffer (från programmerarens synvinkel) för att lagra strängar.
    Gameboy Genius - Foto: Gatukonst och elektronikporr
    Internklippning:
    1) Snaggning av fångar.
    2) Klippning frisörer emellan.

    Kommentera

    Working...
    X