android String.format()使用

平时拼接字符串,估计一开始都是用+连接的,如果拼接的字符串太多,有时就不太好阅读,为了解决这个问题,好几年前用过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, 这个类可以指定语言环境,比如上述代码指定了英语环境,那么不管手机切换成什么语言,都只输出英语;

好了,又可以玩耍了。

猜你喜欢

转载自blog.csdn.net/msn465780/article/details/128266306