首頁常見問題正文

Java培訓:MessageFormat類

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

IT培訓班

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

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

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

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

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

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

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

 ?、艅?chuàng)建MessageFormat對象

  在使用MessageFormat格式化模式字符串之前,首先需要創(chuàng)建MessageFormat對象。MessageFormat類提供了兩個構造方法,它們的語法定義如下。

  ·public MessageFormat(String pattern)

  ·public MessageFormat(String pattern,Local locale)

  上述的兩個構造方法都可以創(chuàng)建MessageFormat對象,其中,第一個構造方法需要在創(chuàng)建MessageFormat對象時傳遞一個模式字符串的參數(shù),第二個構造方法不僅需要傳遞模式字符串的參數(shù),還需要傳遞一個Locale對象,用于指定按照某個本地環(huán)境對模式字符串進行格式化。通常情況下,選擇使用第一個構造方法創(chuàng)建MessageFormat對象。

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

  MessageFormat有一個format()方法,該方法用于執(zhí)行模式字符串的格式化操作,在調(diào)用format()方法時,需要傳遞一個Object類型的參數(shù)數(shù)組,數(shù)組中的每個元素分別用于替換模式字符串中與其索引對應的占位符。

  本文版權歸黑馬程序員Java培訓學院所有,歡迎轉載,轉載請注明作者出處。謝謝!

  作者:黑馬程序員Java培訓學院

  首發(fā):https://java.itheima.com

分享到:
在線咨詢 我要報名
和我們在線交談!