首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

2.12  使用Formatter(格式化程序)格式化字符串

如果你以前曾使用C或C++编程,当转为使用Java时你是否不再使用printf函数?我就是这样,最终转向Java并开始喜欢上一节介绍过的Java的MessageFormat(如果不了解printf的概念或作用,那么在学习它的复杂用法之前请跳过本节)。MessageFormat类提供的功能本质上与Formatter相同,但是它采用一种更容易理解的格式。注意不要将这两个类混淆。

在Java 5中, printf又出现了,但已作为另一种格式化文本的方法。对于“使用C的人”而言,新的java.util.Formatter类提供了与printf相同的功能(和语法)。String和java.io.PrintStream类还提供了使用Formatter来产生输出的简便方法。这些新的方法使用一个格式化String和一个参数列表以便输出一个格式化的字符串。下面给出一个简短的示例,它从一个Date对象中提取小时和分钟然后输出到System.out:

Date now = new Date();

System.out.format("The time is %tI:%tM", now, now);

其中,“%tI”显示小时(12小时制时钟),而“%tM”显示出分钟。格式化字符串非常类似于printf的功能,Formatter文档非常细致地定义了它的语法。格式化String与C的printf并不完全相同,但是它们有相似之处并且有时有助于移植包含大量printf代码的应用程序。如果深爱printf并且不能完全放弃C,那么肯定会使用格式化字符串。对于很多Java编程人员而言此格式化字符串的语法较难,因此必须谨慎地使用它。

参考资料:

Java 5的文档提供了一些例子来说明Formatter的格式化String的语法。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论