平时拼接字符串,估计一开始都是用+连接的,如果拼接的字符串太多,有时就不太好阅读,为了解决这个问题,好几年前用过String.format()这个高级方法,时间久了就容易忘记,这里记录下怎么使用的;
<string name="str_format" formatted="false">%s_%s_%d</string>
String str = String.format(getString(R.string.str_format), "aa", "bb", 100);
Log.d("Alexx", "str: " + str);
输出:str: aa_bb_100
使用很简单的,标准的写法,在资源文件中写上格式字符串,
%s代表字符串占位符,%d代表整数占位符,
其实还有很多其他的%x占位符,字符串和整数是最常用的,其他的网上资料很多的,这里就不赘述了;
资源文件中的 formatted="false" 代表不格式化,加上这个的话,这个字符串就不会被格式化成其他不想要的东东;
当遇到手机切换语言的时候,上述代码就会出现一个问题,就是可能被转化为其他语言,所以还有一个方法,
String str = String.format(Locale.ENGLISH, getString(R.string.str_format), "aa", "bb", 100);
使用Locale, 这个类可以指定语言环境,比如上述代码指定了英语环境,那么不管手机切换成什么语言,都只输出英语;
好了,又可以玩耍了。