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