更新时间:2023-12-04 来源:黑马程序员 浏览量:
动态地拼接一个字符串时,经常需要写String info="I am"+num+"years old";这样的代码,如果需要拼接的字符串较多,这样的格式看起来会比较麻烦,为了解决这个问题,JDK提供了一个MessageFormat类,该类提供了一种用参数替换模式字符串中的占位符的方式,它将根据模式字符串中包含的占位符产生一系列的格式化对象,然后调用这些格式化对象对参数进行格式化,并将格式化后的结果字符串插入到模式字符串中的适当位置,接下来将针对MessageFormat类进行详细的讲解。
MessageFormat类操作模式字符串,通常情况下都是包含占位符的,如下所示。
On {0},there was {1} on planet {2}.
上述的模式字符串中,花括号以及花括号内的数字被称为占位符,如{0}、{1},这些占位符都会被MessageFormat格式化的参数所代替。
通过前面的讲解,我们知道MessageFormat类可以格式化模式字符串,接下来就分步骤讲解如何使用MessageFormat格式化模式字符串。
在使用MessageFormat格式化模式字符串之前,首先需要创建MessageFormat对象。MessageFormat类提供了两个构造方法,它们的语法定义如下。
·public MessageFormat(String pattern)
·public MessageFormat(String pattern,Local locale)
上述的两个构造方法都可以创建MessageFormat对象,其中,第一个构造方法需要在创建MessageFormat对象时传递一个模式字符串的参数,第二个构造方法不仅需要传递模式字符串的参数,还需要传递一个Locale对象,用于指定按照某个本地环境对模式字符串进行格式化。通常情况下,选择使用第一个构造方法创建MessageFormat对象。
MessageFormat有一个format()方法,该方法用于执行模式字符串的格式化操作,在调用format()方法时,需要传递一个Object类型的参数数组,数组中的每个元素分别用于替换模式字符串中与其索引对应的占位符。
本文版权归黑马程序员Java培训学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:黑马程序员Java培训学院