當前位置:編程學習大全網 - 源碼下載 - 聊聊String.format()方法

聊聊String.format()方法

先說說使用String.format方法來輸出字符串的優勢,我們可以回想壹下我們剛開始學習Java時,對於不確定具體內容的參數,往往是使用字符串拼接的方式來進行輸出的,比如說像下面這種:

我們可以看到,使用上面這種方式我們確實可以完成打印的需求,但是字符串拼接過程中其實是創建了壹些我們不需要用到的字符串對象的。所以,面對這種不確定參數內容的場景,String類提供format的格式化方法來幫助我們解決這個問題。

format方法的核心在於對占位符的使用,我們可以預先定義好壹個字符串的模板,有了模板之後我們只需要提供參數就行,底層會幫助我們把參數替換到對應的占位符中。我們以上面的案例為例,做壹個小優化:

定義的模板字符串為: %s今年%d歲了,收到了%f塊零花錢 ,其中第壹個 %s 表示會將傳入的第壹個字符串參數替換掉 %s 這個占位符,對於 %d 和 %f 也是壹樣,分別表示整數類型和浮點類型的占位符。

從輸出結果看,我們可以發現和之前使用字符串拼接的效果壹模壹樣,但是使用format方法卻有更多的好處:

(1) 參數更加明確 ,我們可以更加方便的找到輸出的元素(在多參數的輸出上會體現的更加明顯)

(2) 降低了產生的無用內存對象

下面我們將對format方法中常用的占位符進行介紹:

其中我們用的比較多的,壹般是字符串、整數、浮點、日期相關的占位符多壹些。

我們以上面的占位符為例做壹個小例子:

我們使用這些特殊的占位符來做壹個小測試:

我們在常用占位符的介紹中提到了可以通過 %tx 的方式來定義日期占位符,其中 x 就需要我們再根據需要填入對應的日期格式。

同樣的,我們根據上面提供的日期占位符來做壹個簡單的例子:

我們可以看到,我們定義的模板字符串為: today is %1$tY-%1$tm-%1$td ,理論上我們需要填入三個參數,但實際上我們只提供了1個日期類,原因是當1個參數會在模板字符串中多次使用時,我們可以使用 數字$ 的方式來對指定位置的參數進行替換。比如說 1$ 表示的就是這裏將使用第1個參數進行替換。

同時,還需要註意,我們的索引占位符 數字$ 是需要寫在%之後的,否則會識別錯誤。

至此,對於String.format方法我們就介紹到這裏。

  • 上一篇:尚學堂課程是怎麽安排的
  • 下一篇:qq空間免費導航欄代碼
  • copyright 2024編程學習大全網