Java MessageFormat 是一個用于格式化字符串的工具類,它允許你在字符串中插入?yún)?shù),并根據(jù)參數(shù)的類型進行相應的格式化。MessageFormat 類位于 java.text 包中。
以下是使用 Java MessageFormat 的基本步驟:
import java.text.MessageFormat;
import java.util.Date;
import java.util.Locale;
{}
包裹。例如:String template = "Hello, {0}! Today is {1,date}, and the temperature is {2,number,0.00}°C.";
在這個例子中,我們有三個占位符:{0}、{1} 和 {2}。它們分別表示第一個、第二個和第三個參數(shù)。
String name = "John";
Date today = new Date();
double temperature = 23.5;
String formattedMessage = MessageFormat.format(template, name, today, temperature);
System.out.println(formattedMessage);
將以上代碼放在一起,完整的示例如下:
import java.text.MessageFormat;
import java.util.Date;
public class MessageFormatExample {
public static void main(String[] args) {
String template = "Hello, {0}! Today is {1,date}, and the temperature is {2,number,0.00}°C.";
String name = "John";
Date today = new Date();
double temperature = 23.5;
String formattedMessage = MessageFormat.format(template, name, today, temperature);
System.out.println(formattedMessage);
}
}
運行這個示例,你將看到類似以下的輸出:
Hello, John! Today is Mon Sep 27 14:30:00 CST 2021, and the temperature is 23.5°C.
注意,輸出的日期和時間格式可能因系統(tǒng)區(qū)域設置而異。你可以通過在 MessageFormat 構造函數(shù)中傳入一個 Locale 對象來指定特定的區(qū)域設置。例如:
Locale locale = new Locale("en", "US");
String formattedMessage = MessageFormat.format(template, name, today, temperature, locale);