更新時間:2023-12-04 來源:黑馬程序員 瀏覽量:
動態(tài)地拼接一個字符串時,經(jīng)常需要寫String info="I am"+num+"years old";這樣的代碼,如果需要拼接的字符串較多,這樣的格式看起來會比較麻煩,為了解決這個問題,JDK提供了一個MessageFormat類,該類提供了一種用參數(shù)替換模式字符串中的占位符的方式,它將根據(jù)模式字符串中包含的占位符產(chǎn)生一系列的格式化對象,然后調(diào)用這些格式化對象對參數(shù)進(jìn)行格式化,并將格式化后的結(jié)果字符串插入到模式字符串中的適當(dāng)位置,接下來將針對MessageFormat類進(jìn)行詳細(xì)的講解。
MessageFormat類操作模式字符串,通常情況下都是包含占位符的,如下所示。
On {0},there was {1} on planet {2}.
上述的模式字符串中,花括號以及花括號內(nèi)的數(shù)字被稱為占位符,如{0}、{1},這些占位符都會被MessageFormat格式化的參數(shù)所代替。
通過前面的講解,我們知道MessageFormat類可以格式化模式字符串,接下來就分步驟講解如何使用MessageFormat格式化模式字符串。
在使用MessageFormat格式化模式字符串之前,首先需要創(chuàng)建MessageFormat對象。MessageFormat類提供了兩個構(gòu)造方法,它們的語法定義如下。
·public MessageFormat(String pattern)
·public MessageFormat(String pattern,Local locale)
上述的兩個構(gòu)造方法都可以創(chuàng)建MessageFormat對象,其中,第一個構(gòu)造方法需要在創(chuàng)建MessageFormat對象時傳遞一個模式字符串的參數(shù),第二個構(gòu)造方法不僅需要傳遞模式字符串的參數(shù),還需要傳遞一個Locale對象,用于指定按照某個本地環(huán)境對模式字符串進(jìn)行格式化。通常情況下,選擇使用第一個構(gòu)造方法創(chuàng)建MessageFormat對象。
MessageFormat有一個format()方法,該方法用于執(zhí)行模式字符串的格式化操作,在調(diào)用format()方法時,需要傳遞一個Object類型的參數(shù)數(shù)組,數(shù)組中的每個元素分別用于替換模式字符串中與其索引對應(yīng)的占位符。
本文版權(quán)歸黑馬程序員Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!
作者:黑馬程序員Java培訓(xùn)學(xué)院
首發(fā):https://java.itheima.com