`

Java中MessageFormat对象实现格式化字符串输出,类似C#中的string.format方法

    博客分类:
  • Java
阅读更多

平时.NET做多了,再做Java时,总会进行一些比较,比如说Java中有没有类似C#的String.format方法来进行字符串的格式化,免去拼接字符串的麻烦呢,CodeReview的时候总是被别人提出,开始以为Java中使用的是哪些%d、%s一类的感觉很是麻烦就没去注意了,正好朋友找到了类似的方法,在这里贴出来长长脑。

 

 

Java有SimpleDateFormat这个类,可以格式化日期,查看Java API知道DateFormat 是SimpleDateFormat的父类,再追查下去,又发现DateFormat 的父类是java.text.Format
,而java.text.Format还有几个子类,其中一个就是java.text.MessageFormat,Java API对其描述如下:MessageFormate

public class MessageFormatextends Format MessageFormat 提供了以与语言无关方式生成连接消息的方式。使用此方法构造向终端用户显示的消息。

MessageFormat 获取一组对象,格式化这些对象,然后将格式化后的字符串插入到模式中的适当位置。

注:MessageFormat 不同于其他 Format 类,因为 MessageFormat 对象是用其构造方法之一创建的(而不是使用 getInstance 样式的工厂方法创建的)。工厂方法不是必需的,因为 MessageFormat 本身不实现特定于语言环境的行为。特定于语言环境的行为是由所提供的模式和用于已插入参数的子格式来定义的。

不管那么多,先试试再说吧。

 

Demo01

String item_ds="<input type=/"radio/" value=/"{0}/" name=/"{1}/" />{2}";
 
String temp=MessageFormat.format(item_ds, value,this.id+"group",text);

输出结果为:

<input type="radio" value="1" name="IMG7008CA8DB3DD42E08D322B1358D15093group" />

 

Demo02:

System.out.println (MessageFormat.format("Today is {0}",new Date())); 
 System.out.println (MessageFormat.format("My age is {0},I was borm at {1}.",26,1979));

输出结果为:

 

Today is 06-10-15 下午8:34My age is 26,I was borm at 1,979

总结:

找找总会有方法的!

 

 

分享到:
评论

相关推荐

    利用MessageFormat格式化字符串实例资料.pdf

    利用MessageFormat格式化字符串实例资料.pdf

    Java中的MessageFormat.format用法实例

    主要介绍了Java中的MessageFormat.format用法实例,本文先是讲解了MessageFormat的语法,然后给出了多个操作实例,需要的朋友可以参考下

    MessageFormat

    java中MessageFormat格式化字符串的例子,包括NumberFormat,DateFormat,ChoiceFormat等

    Struts2 国际化字符串 拦截器

    文件的国际化字符串中使用OGNL,格式为${表达式},例如: validation.required=${getText(fileName)} is required 2. 使用java.text.MessageFormat中的字符串格式,格式为{ 参数序号(从0开始), 格式类形(number |...

    Struts in Action中文版

    2.4.4. Struts如何实现 Model 2, MVC, 和分层............................................................49 2.5. Struts 控制流...............................................................................

    Java利用MessageFormat实现短信模板的匹配

    主要介绍了Java利用MessageFormat实现短信模板的匹配,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    struts in Action

    2.4.4. Struts 如何实现Model 2, MVC, 和分层............................................................49 2.5. Struts 控制流................................................................................

    解析消息字符串IntlMessageformatParser.zip

    Intl Messageformat Parser 是发送给 AST 的解析消息字符串,它可以格式化一个人的语言环境消息。

    messageformat.net, .NET的ICU MessageFormat实现.zip

    messageformat.net, .NET的ICU MessageFormat实现 用于. NET 的- 更好的用户界面字符串。 这是. NET 中ICU消息格式的实现。 有关该格式的官方信息,请转到: http://userguide.icu-project.org/formatparse/messages...

    messageformat-compile-object:编译 messageformat.js 翻译字符串对象

    MessageFormat 编译对象编译 messageformat.js 翻译字符串对象。安装 npm install messageformat-compile-object --save用法 var compile = require('messageformat-compile-object');var obj = {locale: 'es'};obj....

    messageformat-bundle.js:使用 messageformat.js 编译消息树。 输出中没有全局变量

    消息格式包使用 messageformat.js 编译消息树。 输出中没有全局变量。安装 &gt; npm install messageformat-bundle用法 var messageformatBundle = require ( 'messageformat-bundle' ) ;// Work in progress…应用程序...

    messageformat.codemirror:用于编辑 messageformat.js 字符串的代码镜像模式

    messageformat.js 的代码镜像模式 此存储库提供用于编辑 MessageFormat 模板字符串的代码镜像模式。 语法高亮代码折叠和 linter 与编辑器集成。 如果您想看到它的实际效果,请尝试。 虽然有很多不同的 ...

    投策国际化Lawrence version.xlsx

    Ø java.text.MessageFormat:用于格式化带占位符的字符串。 为了实现程序的国际化,必须先提供程序所需要的资源文件。资源文件的内容是很多key-value对。其中key是程序使用的部分,而value则是程序界面的显示字符...

    疯狂JAVA讲义

    9.6.4 使用MessageFormat处理包含占位符的字符串 349 9.6.5 使用类文件代替资源文件 350 9.6.6 使用NumberFormat格式化数字 350 9.6.7 使用DateFormat格式化日期 352 9.7 本章小结 355 本章练习 355 第10章 ...

    前端项目-intl-messageformat.zip

    前端项目-intl-messageformat,将ICU消息字符串格式化为数字、日期、复数,然后选择占位符以创建本地化消息。

    polyglot:Elixir的类似于MessageFormat的字符串内插器

    Elixir中一个类似于MessageFormat的字符串内插器(PluralFormat + SelectFormat)的实现,目的是在需要复数形式和性别形式时进行翻译,尤其是在句子中一起使用时(“她在一个结果中找到3个类别”)。 除主要复数和...

    前端项目-messageformat.zip

    前端项目-messageformat,multipleformat和selectformat message和i18n工具-一个实现ICU标准的javascript。

    前端项目-angular-translate-interpolation-messageformat.zip

    前端项目-angular-translate-interpolation-messageformat,使用messageformat.js根据某些值插入字符串。

    JavaWeb项目网上书店.rar

    一、国际化的相关知识 1、什么是国际化。 程序只有一套,能根据来访者的阅读习惯显示相应的文本、日期时间、货币符号。 2、固定文本的国际化 一个消息资源包:基名_语言_国家.properties ResourceBundle Locale ...

Global site tag (gtag.js) - Google Analytics