【发布时间】:2012-01-01 08:57:50
【问题描述】:
我在代码中见过这样的东西
somestring = "Today is {0}, tomorrow is {1}";
我知道它会将值从另一个变量放入字符串,但我该怎么做呢?
更新:由于有几种方法可以达到这种效果,哪种方法最有效?
【问题讨论】:
我在代码中见过这样的东西
somestring = "Today is {0}, tomorrow is {1}";
我知道它会将值从另一个变量放入字符串,但我该怎么做呢?
更新:由于有几种方法可以达到这种效果,哪种方法最有效?
【问题讨论】:
您查看过MessageFormat 文档吗?
例如(一个例子)
Object[] arguments = {
new Integer(7),
new Date(System.currentTimeMillis()),
"a disturbance in the Force"
};
String result = MessageFormat.format(
"At {1,time} on {1,date}, there was {2} on planet {0,number,integer}.",
arguments);
output: At 12:30 PM on Jul 3, 2053, there was a disturbance
in the Force on planet 7.
关于你的问题。效率,如果您遇到性能问题并且它们与此相关,我只会担心这一点。我希望上述内容相当有效 - 特别是考虑到可能会涉及一些输出(到 std.out 或类似的?),我认为这是一个更大的瓶颈。
【讨论】:
我认为您的示例具体使用的是 java.text.MessageFormat。
【讨论】:
你可以使用 java.text.MessageFormat 类
【讨论】:
// Assuming variables today and tomorrow are strings.
somestring = String.format("Today is %s, tomorrow is %s", today, tomorrow);
【讨论】:
toString()。