04、Java13 新特性 - 文本块方法

Java 12 引入了文本块来处理多行字符串,如 JSON/XML/HTML 等,并向 String 类添加了新方法来处理文本块。这是一个预览功能。

  • stripIndent() : 从字符串的开头和结尾删除附带的空格。
  • translateEscapes() : 根据字符串语法翻译转义序列。
  • formatted() : 类似于 String format() 方法,支持文本块字符串中的格式化。

Java13 文本块方法的示例

ApiTester.java


package com.yiidian;

public class APITester {

   public static void main(String[] args) {
	  String textBlockJSON = """
         {
            "name" : "%s",
            "RollNO" : "%s"
         }
         """.formatted("Mahesh", "32");
      System.out.println(textBlockJSON);
   }   
}

编译并运行程序


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

$java --enable-preview APITester

输出结果为


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

Contains: true
indexOf: 15
Length: 45