Skip to main content

Java 21 String Templates

Java 21 introduced preview of String Templates which allow using string interpolation like Javascript Template Literals.

Enable Preview​

To use String Templates, you need to enable the preview feature in gradle

tasks.withType(JavaCompile).configureEach {
options.compilerArgs += "--enable-preview"
}

tasks.withType(Test).configureEach {
jvmArgs += "--enable-preview"
}

tasks.withType(JavaExec).configureEach {
jvmArgs += "--enable-preview"
}

STR​

  • Use \{varName} to interpolate variable
  • Both single line string " and text block """ are supported
import static java.lang.StringTemplate.STR;

class Main {
public static void main(String[] args) {
var name = "World";
System.out.println(STR."Hello, \{name}!");
System.out.println(STR."""
Hello!
This is a new \{name}!
""");
}
}

References​