首頁(yè)常見問題正文

Java培訓(xùn):MessageFormat類

更新時(shí)間:2023-12-04 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  動(dòng)態(tài)地拼接一個(gè)字符串時(shí),經(jīng)常需要寫String info="I am"+num+"years old";這樣的代碼,如果需要拼接的字符串較多,這樣的格式看起來會(huì)比較麻煩,為了解決這個(gè)問題,JDK提供了一個(gè)MessageFormat類,該類提供了一種用參數(shù)替換模式字符串中的占位符的方式,它將根據(jù)模式字符串中包含的占位符產(chǎn)生一系列的格式化對(duì)象,然后調(diào)用這些格式化對(duì)象對(duì)參數(shù)進(jìn)行格式化,并將格式化后的結(jié)果字符串插入到模式字符串中的適當(dāng)位置,接下來將針對(duì)MessageFormat類進(jìn)行詳細(xì)的講解。

  1.模式化字符串與占位符

  MessageFormat類操作模式字符串,通常情況下都是包含占位符的,如下所示。

On {0},there was {1} on planet {2}.

  上述的模式字符串中,花括號(hào)以及花括號(hào)內(nèi)的數(shù)字被稱為占位符,如{0}、{1},這些占位符都會(huì)被MessageFormat格式化的參數(shù)所代替。

  2.MessageFormat類格式化模式字符串

  通過前面的講解,我們知道MessageFormat類可以格式化模式字符串,接下來就分步驟講解如何使用MessageFormat格式化模式字符串。

 ?、艅?chuàng)建MessageFormat對(duì)象

  在使用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ì)象。

  (2)調(diào)用MessageFormat對(duì)象的format()方法

  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

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!