当天秤座遇上程序媛,当强迫症遇上warnings。 —— 题记
都说程序员最直接了当,我对本人的不以为然深信不疑。写个占位符的使用都能啰嗦半天前奏,相信捉急的同学早已留下帅气背影,我对还留下的小伙伴报以虔诚的微笑,我会好好善待你们仅存的patience。
不知是否有SingleDog(本人发誓绝无贬义)和我一样,当开发闲下来的时候,喜欢优化代码、删除冗余(修改、添加注释,重命名方法名、变量名,删掉无用代码),不管你喜不喜欢,反正我是喜欢,而其中最乐此不疲的一件事就是,随便打开一个java文件,开始右边的小黄点一个一个点开看,作为强迫症晚期的我,最忍受不了warnings, 能消除一个是一个,有些是可以用局部变量instead 全局变量,有的是提示用 StringBuild 替换 StringBuffer等等, 其中有个警告是 Let me use resource string with placeholders. 本人才疏学浅、孤陋寡闻, 还真没用过占位符(biggod 莫笑),完整警告长这个样子:
不知大家对它是否熟悉,反正我是跟它杠上了(偷笑ing...)。于是开始Google,下面将自己seek(仅用来装13的)到的paste here, 留作纪念。(-->参考链接)
占位符完整格式为:%[index$][标识]*[最小宽度][.精度]转换符。
针对不同数据类型的格式化,占位符的格式将有所裁剪。
%,占位符的起始字符,若要在占位符内部使用%,则需要写成%%。
[index$],位置索引从1开始计算,用于指定对索引相应的实参进行格式化并替换掉该占位符。
[标识],用于增强格式化能力,可同时使用多个[标识],但某些标识是不能同时使用的。
[最小宽度],用于设置格式化后的字符串最小长度,若使用[最小宽度]而无设置[标识],那么当字符串长度小于最小宽度时,则以左边补空格的方式凑够最小宽度。
[.精度],对于浮点数类型格式化使用,设置保留小数点后多少位。
转换符,用于指定格式化的样式,和限制对应入参的数据类型。
对于“%,占位符的起始字符,若要在占位符内部使用%,则需要写成%%。”这一条,本人在使用过程中还真遇到了这个问题,然而此处给的方法并不能解决,本人是将“%”转换为Unicode编码“\u0025”成功解决。如果看官有更好的方法,还望不吝赐教。
使用示例(直接截图别人的,本人小懒,无意侵权):
网友评论