Java 中的 'String.format("...");' 有什么作用?
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,最大长度为 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 "
中查看更多内容
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,最大长度为 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 "
中查看更多内容