Java 字符串格式化
String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。主要用于将字符串中某些占位符替换成指定的值,
类似c中的sprintf(),python中也有类似的format方法,Java中format有两个重载方法,调用方式都是:
String.format()
format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。
format(Locale locale, String format, Object... args) 使用指定的语言环境,制定字符串格式和参数生成格式化的字符串。
例如:
会将目标字符串中的%s占位符替换为对应的参数,注意%s的个数需要和format中的参数个数对应上,参数是个可变参数注意。
除了%s,还可用用不同转换符实现不同数据类型到字符串的转换,如%c,%b。。。。
String.format()有个问题,无法指定key进行格式化,只能按顺序,要是能像mybatis的sql占位符一样,,这个是没法用format完成的。
MessageFormat
MessageFormat是可以指定位置,如下:讲会用object数据下标为1的元素替换{1},下标为0的参数替换{0}