Java中动态指定长度打印
- C语言中的printf,sprintf打印实现
以前使用C语言的时候知道可以使用如下方法动态指定长度打印:
printf("[%-*s]", 10, "hello");
sprintf(str, "[%-*s]", 10, "hello");
- 发现在Java中使用String.format不奏效
Exception in thread "main" java.util.UnknownFormatConversionException: Conversion = '-'
at java.base/java.util.Formatter.checkText(Formatter.java:2732)
at java.base/java.util.Formatter.parse(Formatter.java:2718)
at java.base/java.util.Formatter.format(Formatter.java:2655)
at java.base/java.util.Formatter.format(Formatter.java:2609)
at java.base/java.lang.String.format(String.java:2897)
- 曲线救国
System.out.println("format========>" + String.format(String.format("[%%-%ds]", 10), "hello"));