Java MessageFormat 是一個用于格式化字符串的工具類,它允許你使用占位符和參數來構建格式化的字符串。要修改 Java MessageFormat,你可以嘗試以下方法:
{}
,但你可以通過設置一個新的格式說明符來更改它。例如,你可以使用 #
作為整數占位符,$
作為貨幣占位符等。String pattern = "Hello, {0}! Your balance is ${1,number,currency}. Thank you {2}.";
String pattern = "Hello, {0}! Your balance is ${1,number,currency}. Thank you {2,time}.";
Formatable
接口,并重寫 formatTo
方法。然后,你可以在占位符中使用該對象的類名作為參數類型。public class CustomObject implements Formatable {
private String name;
private int age;
// 構造函數、getter 和 setter 省略
@Override
public StringBuffer formatTo(StringBuffer sb, FieldPosition pos) {
sb.append(name).append(", you are ").append(age).append(" years old.");
return sb;
}
}
String pattern = "Hello, {0}! You have a new friend: {1}. ";
Object[] arguments = new Object[]{ "John", new CustomObject("Alice", 25) };
MessageFormat messageFormat = new MessageFormat(pattern, Locale.ENGLISH);
String formattedMessage = messageFormat.format(arguments);
Formatter
類,它可以根據提供的模式字符串動態生成格式化方法。請注意,這些方法僅適用于修改 Java MessageFormat 本身。如果你需要更改消息的顯示方式,你可能需要考慮使用其他文本格式化庫,如 Apache Commons Text 或 Java 的 String.format
方法。