String.format(“%1 $-” +长度+“ s”,输入);这是怎么回事?

时间:2018-12-22 16:42:02

标签: string.format

我正在学习Java Core,遇到了帮助我的这段代码,我知道此方法的结果,但无法真正理解这里发生的情况: 我运行带有参数(12345,8)的方法,结果得到“ 12345 ___”(带空格,总字符串长度为8个字符)

public static String padRight(String input, int length) {
    if (input.length() < length) {
        return String.format("%1$-" + length + "s", input); // %1$ refers to the first substitution.
    } else {
        return input.substring(0, length);
    }
}

%1 $ 在这里是指逗号之后的第一个参数,即“输入”

$之后

--这是什么?结果将是左对齐的。是否要对齐到左边框?

  • + length +“ s”-这些操作我无法理解: +-结果将始终包含一个符号...什么符号?长度?

这里的“ s”是什么?

请说明是否有人完全理解。

我使用的来源: https://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html https://dzone.com/articles/java-string-format-examples

0 个答案:

没有答案
相关问题