Java MessageFormat 是一个用于格式化字符串的工具类,它允许你在字符串中插入参数,并根据参数的类型进行相应的格式化。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}。它们分别表示第一个、第二个和第三个参数。
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.
注意,输出的日期和时间格式可能因系统区域设置而异。你可以通过在 MessageFormat 构造函数中传入一个 Locale 对象来指定特定的区域设置。例如:
Locale locale = new Locale("en", "US");
String formattedMessage = MessageFormat.format(template, name, today, temperature, locale);