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格式化游戏的状态窗格。