通过 Java 提供的 String.format() 方法,可以很方便的声明字符串模板,以及占位符。 但是,它不方便的是,如果我的字符串模板两个占位符希望的是同一个值:
XXXXXXXX $A XXXXXX $B XXXXXX $A XXXXX
通过 String.format() 需要这么写:
String.format("XXXXXXXX %s XXXXXX %s XXXXXX %s XXXXX", "TxtA","TxtB","TxtA");
或者用位置参数
String.format("XXXXXXXX %1$s XXXXXX %2$s XXXXXX %1$s XXXXX", "TxtA","TxtB");
并且你不设值,或者设置的值少于声明的数量, 会被无情抛错。
接上例,你可以这么写:
Segment seg = new CharSegment("XXXXXXXX ${A} XXXXXX ${B} XXXXXX ${A} XXXXX");
seg.set("A", "TxtA").set("B", "TxtB");
System.out.println(seg.toString());
Segment newSeg = seg.born();
newSeg.set("A",XXX").set("B",XXX") ....
Segment newSeg = seg.clone();
本页面的文字允许在知识共享 署名-相同方式共享 3.0协议和GNU自由文档许可证下修改和再使用。