为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

智慧大石 2022-05-21 13:12:29
String.format("%-" + 3 + "." + 3 + "s", givenString);这应该添加空格,但它没有。我在在线编译器上进行了尝试,它会将数字加到字符串中。我不明白那在做什么。有人可以解释一下吗?
查看完整描述

1 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超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 个符号,并且在 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  "

在文档中查看更多信息


查看完整回答
反对 回复 2022-05-21
  • 1 回答
  • 0 关注
  • 99 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信