Java使用占位符拼接字符串

1.简单的测试:

 System.out.println(String.format("哈哈%s,你好%s,测试中%s", "嘿嘿","张三","。。。"));
 System.out.println(MessageFormat.format("哈哈{0},你好{1},测试中{2}", "嘿嘿","张三","。。。"));

2.输出结果和花费时间毫秒:

哈哈嘿嘿,你好张三,测试中。。。
61
哈哈嘿嘿,你好张三,测试中。。。
2

可以看出MessageFormat.format的速度明显快很多
 

3.占位符个数大于后面的数组时:

 System.out.println(String.format("哈哈%s,你好%s,测试中%s%s", "嘿嘿","张三","。。。"));

输出结果:Exception in thread "main" java.util.MissingFormatArgumentException: Format specifier '%s'
  
System.out.println(MessageFormat.format("哈哈{0},你好{1},测试中{2}{3}", "嘿嘿","张三","。。。"));
输出结果:
哈哈嘿嘿,你好张三,测试中。。。{3}
 

4.占位符个数小于后面的数组时:
System.out.println(String.format("哈哈%s,你好%s,测试中", "嘿嘿","张三","。。。"));
输出结果:哈哈嘿嘿,你好张三,测试中
  System.out.println(MessageFormat.format("哈哈{0},你好{1},测试中", "嘿嘿","张三","。。。"));
输出结果:哈哈嘿嘿,你好张三,测试中

二者都正常输出,没报错。
 

猜你喜欢

转载自blog.csdn.net/dhj199181/article/details/81381956