今天在代码中看到了别人写的string占位符的使用方法,就想着记录一下占位符的使用。
参考链接:https://blog.csdn.net/mint6/article/details/78583316
string占位符和Mybatis的有些类似,mybatis的占位符是根据传参的顺序取值的,string占位符也是按照顺序取值的,但是string占位符可能会在占位符外加一个单引号,也可能加两个单引号,也可能不加单引号;
public static void main(String[] args) { String a= "aaa"; String b= "bb"; String c= "c"; StringBuilder sb = new StringBuilder(); sb.append(a).append(b).append(c); System.out.println(MessageFormat.format(" {0} {1} {2} {3}", a, b,"",sb)); System.out.println(MessageFormat.format(" ''{0}'' '{1}' {2} {3}", a, b,"",sb.toString())); }
1.不加单引号:按顺序取值
例:System.out.println(MessageFormat.format(" {0} {1} {2} {3}", a, b,"",sb));
输出结果为:aaa,bb, ,aaabbc
2.加一个单引号:对应位置上的值不会替换,最后只会输出占位符本身
System.out.println(MessageFormat.format(" ''{0}'' '{1}' {2} {3}", a, b,"",sb.toString()));
‘{1}’对应的输出结果为:{1} 即本身
3.加两个占位符:占位符取的对应的值也要加上一个单引号
System.out.println(MessageFormat.format(" ''{0}'' '{1}' {2} {3}", a, b,"",sb.toString()));
' '{0}' '输出结果为:'aaa'
再次感谢博主的分享:https://blog.csdn.net/mint6/article/details/78583316