View ToC

Java 13 - Text Blocks



Java 13 introduces text blocks to handle multiline strings like JSON/XML/HTML etc. It is a preview feature.

  • Text Block allows to write multiline strings easily without using \r\n.

  • Text Block string have same methods as string like contains(), indexOf() and length() functions.

Example

Consider the following example −

ApiTester.java

public class APITester {

   public static void main(String[] args) {
      String stringJSON = "{\r\n" 
         + "\"Name\" : \"Mahesh\",\r\n" 
         + "\"RollNO\" : \"32\"\r\n" 
         + "}";  
   
      System.out.println(stringJSON);
	  
	  String textBlockJSON = """
         {
            "name" : "Mahesh",
            "RollNO" : "32"
         }
         """;
      System.out.println(textBlockJSON);
	  
	  System.out.println("Contains: " + textBlockJSON.contains("Mahesh"));
	  System.out.println("indexOf: " + textBlockJSON.indexOf("Mahesh"));
	  System.out.println("Length: " + textBlockJSON.length());
   }   
}

Compile and Run the program

$javac -Xlint:preview --enable-preview -source 13 APITester.java

$java --enable-preview APITester

Output

{
"Name" : "Mahesh",
"RollNO" : "32"
}
{
   "name" : "Mahesh",
   "RollNO" : "32"
}

Contains: true
indexOf: 15
Length: 45