格式化字符串,很多时候会用到,android中比较常将要格式化的字符串放到String.xml中存放
String.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="msg">你好!%1$s今天是你%2$d岁生日,你已经度过了%3$f天</string>
</resources>
java代码中
String msg = String.format(getResources().getString(R.string.msg), "feng", 1, 366.6);
PS: 待替换的参数需要用"%"开头,java.util.Formater中doFormat函数,
private void doFormat(String format, Object... args) {
........
while (i < length) {
// Find the maximal plain-text sequence...
int plainTextStart = i;
int nextPercent = format.indexOf('%', i); //<-----------就这句
.........
}
%1$s 代表第一个参数是字符串
%2$d代表第二个参数INT
%3$f 代表第三个参数是float