GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • java.evolved
  • ←
  • →

This view

  • Original page
  • New address

GeezerVison is showing javaevolved.dev — String.formatted() | java.evolved

Home / Strings / String.formatted()
Strings Beginner

String.formatted()

  • 🐛 Report a code issue
  • 🌐 Report a translation issue
  • 💡 Suggest a new pattern

Call formatted() on the template string itself.

Strings Formatting
Code Comparison
✕ Java 8
String msg = String.format(
    "Hello %s, you are %d",
    name, age
);
✓ Java 15+
String msg =
    "Hello %s, you are %d"
    .formatted(name, age);
Share 𝕏
See a problem with this code? Let us know.
Why the modern way wins
📖

Reads naturally

Template.formatted(args) flows better than String.format(template, args).

🔗

Chainable

Can be chained with other string methods.

📏

Less verbose

Drops the redundant String.format() static call.

Old Approach
String.format()
Modern Approach
formatted()
Since JDK
15
Difficulty
Beginner
JDK Support
String.formatted()
Available

Widely available since JDK 15 (Sept 2020)

How it works

String.formatted() is an instance method equivalent to String.format() but called on the format string. It reads more naturally in a left-to-right flow.

Related Documentation
String.formatted() ↗
Proof
View proof source ↗
Related patterns
Strings Beginner

String.lines() for line splitting

Java 8
String text = "one\ntwo\nthree";
String[] lines = text.split("\n");
for (String line : lines) {
    System.out.println(line);
}
Java 11+
String text = "one\ntwo\nthree";
text.lines().forEach(IO::println);
Hover to see modern ➜
JDK 11+ →
Strings Beginner

String.strip() vs trim()

Java 8
// trim() only removes ASCII whitespace
// (chars <= U+0020)
String clean = str.trim();
Java 11+
// strip() removes all Unicode whitespace
String clean = str.strip();
String left  = str.stripLeading();
String right = str.stripTrailing();
Hover to see modern ➜
JDK 11+ →
Strings Beginner

String.indent() and transform()

Java 8
String[] lines = text.split("\n");
StringBuilder sb = new StringBuilder();
for (String line : lines) {
    sb.append("    ").append(line)
      .append("\n");
}
String indented = sb.toString();
Java 12+
String indented = text.indent(4);

String result = text
    .transform(String::strip)
    .transform(s -> s.replace(" ", "-"));
Hover to see modern ➜
JDK 12+ →
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.