我正在加载一个Java属性文件,看起来像:
transfer_detail = Transfer {0} from {1} to {2} on {3}
Run Code Online (Sandbox Code Playgroud)
解析该属性后,我应该看到如下所示的String:
Transfer 200.30 from Debit Account to Credit Account on 2011/01/26
Run Code Online (Sandbox Code Playgroud)
我实现了我自己的解析器,看起来像:
// simplified for brevity
private static String translate(String string, String... replacements){
String result = string;
for(int i = 0; i < replacements.length; i++){
result = result.replace("{"+i+"}", replacements[i]);
}
return result;
}
// and I use it this way:
String result = translate("transaction", "200.30", "Debit Account", etc...);
Run Code Online (Sandbox Code Playgroud)
我一直在想的是,如果在J2SE API中有这样做的话.即使对于像这样的简单事情,我也不喜欢重新发明轮子.你知道其他更简单或更清洁的方法吗?
不要这样做......很难过.:)
请改用MessageFormat.
MessageFormat form = new MessageFormat("Transfer {0} from {1} to {2} on {3}");
System.out.println(form.format(new String[] {
"200.30",
"Debit Account",
"Credit Account",
"2011/01/26"
}));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2310 次 |
| 最近记录: |