Een string interpoleren

Java:
Een string interpoleren

Hoe te gebruiken:

Java introduceerde String.format() voor interpolatie:

public class StringInterpolationExample {
  public static void main(String[] args) {
    String user = "Alice";
    int points = 1337;
    String groet = String.format("Hoi, %s! Je hebt %d punten.", user, points);
    System.out.println(groet);
  }
}

Voorbeeld van output:

Hoi, Alice! Je hebt 1337 punten.

Voor meer moderne interpolatie sinds Java 15, gebruiken we tekstblokken en formatted():

public class ModernStringInterpolationExample {
  public static void main(String[] args) {
    String user = "Bob";
    double rekeningsaldo = 1234.56;
    String bericht = """
      Beste %s,
      Je huidige saldo is $%.2f.
      """.formatted(user, rekeningsaldo);
    System.out.println(bericht);
  }
}

Voorbeeld van output:

Beste Bob,
Je huidige saldo is $1234.56.

Diepere Duik

Voor interpolatie vertrouwde Java op concatenatie: String groet = "Hallo, " + user + "!";. Omslachtig en foutgevoelig, zeker naarmate strings complexer werden.

Historisch gezien hadden talen zoals Perl en PHP interpolatie. Java haalde veel later in. String.format() en PrintStream.printf() bieden vergelijkbare functionaliteit, met behulp van formatteringsspecificaties die Java vertellen hoe om te gaan met variabelen.

Alternatieven? Naast String.format(), hebben we MessageFormat en StringBuilder, maar die zijn niet zo geschikt voor basisinterpolatie. Sinds Java 15 hebben tekstblokken het vereenvoudigd om meerlijnige strings te gebruiken en formatted() toegevoegd om interpolatie direct op zijn plaats te stroomlijnen.

Wat betreft implementatie, gebruikt String.format() Formatter, een robuuste motor met veel formatteringsopties. Maar let op, complexe strings kunnen de prestaties van je app negatief beïnvloeden als je niet voorzichtig bent.

Zie Ook