Java 12 String方法
Java 12引入了以下用于String的新方法,用于简化格式化。
indent(n) 方法
根据传入的参数调整字符串每行的缩进。
用法
string.indent(n)**n > 0 ** - 在每一行的开头插入空格。
**n < 0 ** - 移除每一行开头的空格。
**n < 0 and n < available spaces ** - 移除每一行的所有首部空格。
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 对象。
用法
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 geek-docs!"; 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 geek-docs! Welcome to geek-docs!avaJOptional[Java]Java
