1

当我开始我的 Maven 构建时,它失败并出现此错误

“转换 = s,标志 = #”

在下面的测试中。

public class Test {

    public static void main(String[] argv) {
        String a = String.format("%1$#" + (250 + 1) + "s", "");
        System.out.println("a = " + a);
    }
}

请指教。

谢谢。

4

1 回答 1

3

所以这实际上完全取决于一个看起来像这样的调用:

String.format("%1$#251s", "");

如果您查看Formatter文档,此格式字符串请求字符串转换 ( s),宽度为 251,标志为#.

字符串转换的文档状态:

如果给出了 '#' 标志并且参数不是 Formattable ,则将抛出 FormatFlagsConversionMismatchException。

现在java.lang.String没有实现Formattable- 所以抛出异常,完全按照文档记录。

期望这会做什么?

于 2012-10-09T18:21:06.380 回答