“Java String 格式化”的版本间的差异
跳到导航
跳到搜索
Jihongchang(讨论 | 贡献) |
Jihongchang(讨论 | 贡献) |
||
第1行: | 第1行: | ||
+ | === 参数个数等于占位符个数示例 === | ||
+ | <syntaxhighlight lang="java"> | ||
+ | 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); | ||
+ | |||
+ | } | ||
+ | |||
+ | } | ||
+ | </syntaxhighlight><syntaxhighlight lang="console"> | ||
+ | ab | ||
+ | </syntaxhighlight> | ||
+ | |||
=== 参数个数小于占位符个数示例 === | === 参数个数小于占位符个数示例 === | ||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> |
2022年12月7日 (三) 00:36的版本
参数个数等于占位符个数示例
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)