當天秤座遇上程序媛,當強迫癥遇上warnings。 —— 題記
? ? ? ?都說程序員最直接了當,我對本人的不以為然深信不疑。寫個占位符的使用都能啰嗦半天前奏,相信捉急的同學早已留下帥氣背影,我對還留下的小伙伴報以虔誠的微笑,我會好好善待你們僅存的patience。
? ? ? 不知是否有SingleDog(本人發(fā)誓絕無貶義)和我一樣,當開發(fā)閑下來的時候,喜歡優(yōu)化代碼、刪除冗余(修改、添加注釋,重命名方法名、變量名,刪掉無用代碼),不管你喜不喜歡,反正我是喜歡,而其中最樂此不疲的一件事就是,隨便打開一個java文件,開始右邊的小黃點一個一個點開看,作為強迫癥晚期的我,最忍受不了warnings, 能消除一個是一個,有些是可以用局部變量instead 全局變量,有的是提示用 StringBuild 替換 StringBuffer等等, 其中有個警告是 Let me use resource string with placeholders. 本人才疏學淺、孤陋寡聞, 還真沒用過占位符(biggod 莫笑),完整警告長這個樣子:

不知大家對它是否熟悉,反正我是跟它杠上了(偷笑ing...)。于是開始Google,下面將自己seek(僅用來裝13的)到的paste here, 留作紀念。(-->參考鏈接)
占位符完整格式為:%[index$][標識]*[最小寬度][.精度]轉換符。
針對不同數據類型的格式化,占位符的格式將有所裁剪。
%,占位符的起始字符,若要在占位符內部使用%,則需要寫成%%。
[index$],位置索引從1開始計算,用于指定對索引相應的實參進行格式化并替換掉該占位符。
[標識],用于增強格式化能力,可同時使用多個[標識],但某些標識是不能同時使用的。
[最小寬度],用于設置格式化后的字符串最小長度,若使用[最小寬度]而無設置[標識],那么當字符串長度小于最小寬度時,則以左邊補空格的方式湊夠最小寬度。
[.精度],對于浮點數類型格式化使用,設置保留小數點后多少位。
轉換符,用于指定格式化的樣式,和限制對應入參的數據類型。
對于“%,占位符的起始字符,若要在占位符內部使用%,則需要寫成%%。”這一條,本人在使用過程中還真遇到了這個問題,然而此處給的方法并不能解決,本人是將“%”轉換為Unicode編碼“\u0025”成功解決。如果看官有更好的方法,還望不吝賜教。
使用示例(直接截圖別人的,本人小懶,無意侵權):
