📅  最后修改于: 2023-12-03 15:16:25.115000             🧑  作者: Mango
Java中的 MessageFormat
类提供了一个 parseObject()
方法,它可以将一个格式化的字符串解析成一个对象数组。
public Object[] parseObject(String source) throws ParseException
source
:要解析的格式化的字符串。如果传入的字符串不符合预期的格式,则会抛出 ParseException
异常。解析后的对象数组。如果解析失败,则会抛出 ParseException
异常。
假设我们有一个格式化的字符串,里面包含了一些参数占位符:
"There are {0} students and {1} teachers in the classroom."
我们可以用 MessageFormat
的 parseObject()
方法将这个字符串解析成一个对象数组:
import java.text.MessageFormat;
import java.text.ParseException;
public class MessageFormatExample {
public static void main(String[] args) {
String pattern = "There are {0} students and {1} teachers in the classroom.";
String source = "There are 20 students and 5 teachers in the classroom.";
MessageFormat messageFormat = new MessageFormat(pattern);
try {
Object[] objects = messageFormat.parseObject(source);
System.out.println("Number of students: " + objects[0]);
System.out.println("Number of teachers: " + objects[1]);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
输出结果:
Number of students: 20.0
Number of teachers: 5.0
在这个示例中,我们首先创建了一个 MessageFormat
对象,用于表示要解析的字符串的格式。然后,我们调用了 parseObject()
方法,将格式化的字符串传入。最后,我们打印了解析后得到的对象数组中的每个元素。
需要注意的一点是,解析出来的数组中的元素都是 Object
类型,我们需要自行转换成具体的类型,例如 int
,double
等。