java.util.MissingFormatArgumentException: Format specifier ‘%s’

今天在写代码的时候遇到了这个异常:

Exception in thread "main" java.util.MissingFormatArgumentException: Format specifier '%s'
    at java.util.Formatter.format(Formatter.java:2519)
    at java.util.Formatter.format(Formatter.java:2455)
    at java.lang.String.format(String.java:2940)
    at RecoveryModeLogUtils.main(RecoveryModeLogUtils.java:78)

以前其实没咋遇到过java.util.MissingFormatArgumentException,所以记录一下。
其实这个异常描述起来很简单,就是我在使用String.format方法时传递的参数的数量比代码中的%s要少
,所以出现这个异常。比如下面的代码可以重现:

public static void main(String[] args) {
        String format = "你%s好%s";
        System.out.println(String.format(format, 1));
}

但是当我传递的参数的数量多于代码中的%s的数量的时候缺没问题。挺奇怪的

本文版权归作者所有,禁止一切形式的转载,复制等操作
赞赏

微信赞赏支付宝赞赏

发表评论

电子邮件地址不会被公开。 必填项已用*标注