这是什么'字符串格式(“..“);' 在 Java 中做


String.format("%-" + 3 + "." + 3 + "s", givenString);

这应该添加空格,但它没有。我在在线编译器上尝试了它,它将数字添加到字符串中。我不明白这是在做什么。有人可以解释一下吗?

> 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  "

在文档中查看更多信息

相关内容

  • 没有找到相关文章

最新更新