繁体   English   中英

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

[英]What does this 'String.format(“…”);' in Java do?

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);替换它String.format("%-3.3s", givenString);

根据格式,这将打印一个长度最多为3个字符的字符串 它每行保留3个符号,如果givenString长度小于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  "

文档中查看更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM