Java – 在string中包含variables?
好的,所以我们都应该知道你可以通过下面的方法将variables包含到string中:
String string = "A string " + aVariable;
有没有办法做到这一点:
String string = "A string {aVariable}";
换句话说:不必closures引号并添加加号。 这是非常不吸引人的。
你总是可以使用String.format(….)。 即
String string = String.format("A String %s %2d", aStringVar, anIntVar);
我不确定这对你是否有吸引力,但它可以相当方便。 语法与printf和java.util.Formatter相同。 我已经使用了很多,特别是如果我想显示表格数字数据。
这被称为string插值; 它在Java中并不存在。
一种方法是使用String.format:
String string = String.format("A string %s", aVariable);
另一种方法是使用Velocity等模板库。
还要考虑java.text.MessageFormat
,它使用具有数字参数索引的相关语法。 例如,
String aVariable = "of ponies"; String string = MessageFormat.format("A string {0}.", aVariable);
导致包含以下内容的string
:
A string of ponies.
更常见的是,该类用于数字和时间格式。 这里描述了JFreeChart
标签格式化的一个例子。 类RCInfo
格式化游戏的状态窗格。