Java 12 - 字符串方法


Java 12 为 String 引入了以下新方法以方便格式化。

缩进(n)方法

根据传递的参数调整每行字符串的缩进。

用法

string.indent(n)
  • n > 0 - 在每行的开头插入空格。

  • n < 0 - 删除每行开头的空格。

  • n < 0 和 n < 可用空格- 删除每行的所有前导空格。

  • n = 0 - 没有变化。

Transform(Function<? super String,​? extends R> f) 方法

转换字符串以给出 R 形式的结果。

用法

String transformed = text.transform(value -> new StringBuilder(value).reverse().toString());

可选的<String>描述Constable()方法

返回包含 String 实例描述的可选对象。

用法

Optional<String> optional = message.describeConstable();

resolveConstantDesc​(MethodHandles.Lookup查找)方法

返回给定字符串的描述符实例字符串。

用法

String constantDesc = message.resolveConstantDesc(MethodHandles.lookup());

考虑以下示例 -

ApiTester.java

import java.lang.invoke.MethodHandles;
import java.util.Optional;

public class APITester {
   public static void main(String[] args) {
      String str = "Welcome \nto Tutorialspoint!";
      System.out.println(str.indent(0));
      System.out.println(str.indent(3));

      String text = "Java";
      String transformed = text.transform(value -> new StringBuilder(value).reverse().toString());
      System.out.println(transformed);

      Optional<String> optional = text.describeConstable();
      System.out.println(optional);

      String cDescription = text.resolveConstantDesc(MethodHandles.lookup());
      System.out.println(cDescription);
   }
}

输出

Welcome 
to Tutorialspoint!

   Welcome 
   to Tutorialspoint!

avaJ
Optional[Java]
Java