Java Academy · Lektion

Byg strings med StringBuilder

Effektiv sammenkædning

Lektion 2 af 413 trin

Byg strings med StringBuilder er en gratis Java Academy-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Java Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Java Academy-kurset indeholder 4 lektioner i alt.

En foranderlig StringBuilder

StringBuilder er en foranderlig sekvens af tegn. I modsætning til String kan du ændre indholdet direkte, hvilket gør det effektivt at opbygge tekst.

Oprettelse af en StringBuilder

Opret en med new StringBuilder() for at få en tom StringBuilder, eller giv starttekst med, så den begynder med indhold.

public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        StringBuilder named = new StringBuilder("Hello");
        System.out.println("empty length: " + sb.length());
        System.out.println("named: " + named);
    }
}

Tilføjelse af tekst

Metoden append føjer indhold til slutningen. Den accepterer strenge, tal, tegn, boolske værdier og meget mere.

public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        sb.append("Count: ");
        sb.append(5);
        sb.append(' ');
        sb.append(true);
        System.out.println(sb);
    }
}

Kædning af metodekald

append returnerer den samme StringBuilder, så kald kan kædes sammen flydende i ét udtryk.

public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        sb.append("a").append("b").append("c").append(123);
        System.out.println(sb);
    }
}

Opbygning i en løkke

Dette er det primære anvendelsesområde. Føj indhold til i en løkke uden at oprette et nyt objekt hver gang, og konvertér derefter én gang til sidst.

public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        for (int i = 1; i <= 10; i++) {
            sb.append(i).append(' ');
        }
        System.out.println(sb.toString().trim());
    }
}

Konvertering til en String

Kald toString() for at hente en almindelig uforanderlig String ud af StringBuilder, når du er færdig med at ændre den.

public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder("result");
        String finalText = sb.toString();
        System.out.println(finalText.toUpperCase());
    }
}

Sammensætning med en separator

Du kan opbygge kommaseparerede lister ved at føje en separator til mellem elementerne og håndtere det sidste element omhyggeligt.

public class Main {
    public static void main(String[] args) {
        String[] names = {"Ann", "Ben", "Cara"};
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < names.length; i++) {
            sb.append(names[i]);
            if (i < names.length - 1) {
                sb.append(", ");
            }
        }
        System.out.println(sb);
    }
}

Aflæsning af længden

length() fortæller, hvor mange tegn StringBuilder aktuelt indeholder. Værdien opdateres, når du føjer indhold til.

public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        sb.append("12345");
        System.out.println("Length: " + sb.length());
    }
}

Adgang til tegn

Brug charAt(index) til at læse et enkelt tegn ud fra dets position, ligesom med en String.

public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder("Coddy");
        System.out.println("First: " + sb.charAt(0));
        System.out.println("Last: " + sb.charAt(sb.length() - 1));
    }
}

Kapacitet kontra længde

En StringBuilder har en intern buffer (kapacitet), der vokser automatisk. Du kan angive en startkapacitet for at reducere ændringer af størrelsen, når du kender den endelige størrelse.

public class Main {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder(100);
        sb.append("short");
        System.out.println("Length: " + sb.length());
        System.out.println("Capacity at least: " + (sb.capacity() >= 100));
    }
}

En praktisk StringBuilder

Sæt det hele sammen: Opbyg effektivt en lille rapportstreng med kædede append-kald og en løkke.

public class Main {
    public static void main(String[] args) {
        int[] sales = {100, 250, 75};
        StringBuilder report = new StringBuilder("Sales Report\n");
        int total = 0;
        for (int i = 0; i < sales.length; i++) {
            report.append("Day ").append(i + 1).append(": ").append(sales[i]).append('\n');
            total += sales[i];
        }
        report.append("Total: ").append(total);
        System.out.println(report);
    }
}

Hurtigt tjek

Hvorfor er StringBuilder mere effektiv end gentagen sammenkædning med + i en løkke?

Opsummering

Du har lært at opbygge strenge med StringBuilder:

  • Det er en foranderlig tegnsekvens
  • append føjer indhold til og understøtter kædning
  • Ideel til at opbygge tekst i løkker
  • Kald toString() for at få den endelige String
  • En startkapacitet undgår ændringer af størrelsen
Gratis at komme i gang

Lær Java med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
104
Lektioner
374

Ofte stillede spørgsmål

Er lektionen “Byg strings med StringBuilder” gratis?

Ja — hele teksten til “Byg strings med StringBuilder” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Java Academy-kurset, skal du opgradere til CoddyKit PRO. Java Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Byg strings med StringBuilder”?

Effektiv sammenkædning Du øver dig i Java Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Java Academy?

Der kræves ingen tidligere erfaring. Java Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Byg strings med StringBuilder”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Java Academy-lektion?

Ja. Alle Java Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Hvorfor strings er immutable
  2. Byg strings med StringBuilder
  3. StringBuilder-metoder
  4. StringBuilder kontra StringBuffer
← Tilbage til Java Academy