Java 12 为 String 引入了以下新方法,以便于格式化。
Java12 indent(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());
Optional<String>
describeConstable() 方法
返回包含 String 实例描述的可选对象。
用法
Optional<String> optional = message.describeConstable();
resolveConstantDesc (MethodHandles.Lookup lookup) 方法
返回给定字符串的描述符实例字符串。
用法
String constantDesc = message.resolveConstantDesc(MethodHandles.lookup());
Java12 String方法示例
ApiTester.java
package com.yiidian;
import java.lang.invoke.MethodHandles;
import java.util.Optional;
public class APITester {
public static void main(String[] args) {
String str = "Welcome \nto yiidian.com!";
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 yiidian.com!
Welcome
to yiidian.com!
avaJ
Optional[Java]
Java