“Java String 格式化”的版本间的差异
		
		
		
		
		
		跳到导航
		跳到搜索
		
				
		
		
	
Jihongchang(讨论 | 贡献)  | 
				Jihongchang(讨论 | 贡献)   | 
				||
| (未显示同一用户的1个中间版本) | |||
| 第19行: | 第19行: | ||
ab  | ab  | ||
</syntaxhighlight>  | </syntaxhighlight>  | ||
| + | |||
| + | |||
| + | |||
| + | |||
=== 参数个数小于占位符个数示例 ===  | === 参数个数小于占位符个数示例 ===  | ||
| 第43行: | 第47行: | ||
	at java.base/java.lang.String.format(String.java:2897)  | 	at java.base/java.lang.String.format(String.java:2897)  | ||
	at org.example.stringformat.Test1.main(Test1.java:11)  | 	at org.example.stringformat.Test1.main(Test1.java:11)  | ||
| + | </syntaxhighlight>  | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | === 参数个数大于占位符个数示例 ===  | ||
| + | <syntaxhighlight lang="java">  | ||
| + | public class Test3 {  | ||
| + | |||
| + |     public static void main(String[] args) {  | ||
| + | |||
| + |         String format = "%1$s%2$s";  | ||
| + | |||
| + |         String[] strArr = {"a", "b", "c"};  | ||
| + | |||
| + |         String ret = String.format(format, strArr);  | ||
| + | |||
| + |         System.out.println(ret);  | ||
| + | |||
| + |     }  | ||
| + | |||
| + | }  | ||
| + | </syntaxhighlight><syntaxhighlight lang="console">  | ||
| + | ab  | ||
</syntaxhighlight>  | </syntaxhighlight>  | ||
2022年12月7日 (三) 00:38的最新版本
参数个数等于占位符个数示例
public class Test2 {
    public static void main(String[] args) {
        String format = "%1$s%2$s";
        String[] strArr = {"a", "b"};
        String ret = String.format(format, strArr);
        System.out.println(ret);
    }
}
ab
参数个数小于占位符个数示例
public class Test1 {
    public static void main(String[] args) {
        String format = "%1s$%2s$";
        String[] strArr = {"a"};
        String ret = String.format(format, strArr);
        System.out.println(ret);
    }
}
Exception in thread "main" java.util.MissingFormatArgumentException: Format specifier '%2s'
	at java.base/java.util.Formatter.format(Formatter.java:2672)
	at java.base/java.util.Formatter.format(Formatter.java:2609)
	at java.base/java.lang.String.format(String.java:2897)
	at org.example.stringformat.Test1.main(Test1.java:11)
参数个数大于占位符个数示例
public class Test3 {
    public static void main(String[] args) {
        String format = "%1$s%2$s";
        String[] strArr = {"a", "b", "c"};
        String ret = String.format(format, strArr);
        System.out.println(ret);
    }
}
ab