这是什么'String.format(“ ...”);'在Java中做什么?

时间:2019-01-23 05:56:09

标签: java string-formatting

if (id > 0)

应该添加空格,但不能添加空格。我在在线编译器上尝试过,它将数字加到字符串中。我不知道在做什么。有人可以解释吗?

1 个答案:

答案 0 :(得分:4)

public static String format(String format, Object... args)-这是方法声明。

String format = "%-" + 3 + '.' + 3 + 's';   // = %-3.3s
String.format(format, givenString);

它用于动态构建format,但其中没有变量,因此您可以将其替换为String.format("%-3.3s", givenString);

根据格式,这会打印一个字符串,其长度最多为 3 个字符。每行保留3个符号,万一给定的字符串少于3个字符,它将保持对齐。

演示:

System.out.println(String.format("%-3.3s", "ab"));  // "ab "
System.out.println(String.format("%-3.3s", "abc"));  // "abc"
System.out.println(String.format("%-3.3s", "abcd"));  // "abc"
System.out.println(String.format("%-3.3s", "a") + String.format("%-3.3s", "b"));  // "a  b  "

Documentation

中查看更多