Java12 - 字符串方法

Java12 为 String 引入了以下新方法,以便于格式化。


indent 缩进方法

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

用法

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

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

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

  • n = 0 - 没有变化。


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

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

用法

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

Optional<String> describeConstable() 方法

返回包含字符串实例描述的可选对象。

用法

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

resolveConstantDesc​(MethodHandles.Lookup 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