- 浏览: 2869433 次
- 性别:
- 来自: 武汉
文章分类
- 全部博客 (1173)
- 名言警句 (5)
- 心情随笔 (50)
- 数据库 (57)
- Java基础 (241)
- J2EE框架 (91)
- 数据结构 (12)
- 程序设计 (21)
- WEB技术 (128)
- 网络日志 (12)
- IT资讯 (247)
- linux (64)
- solaris (2)
- 其它 (143)
- WebService (4)
- 日语学习 (2)
- 机器人 (5)
- Android (5)
- cgywin (3)
- Game (1)
- DWR (1)
- spring (8)
- canvas (1)
- Guava (3)
- Modbus (5)
- 测试 (6)
- mongodb (9)
- Quartz (2)
- Cron (1)
- windows (2)
- 持续集成 (1)
- bootstrap (3)
- 结对编程 (1)
- nodejs (1)
- Netty (1)
- 安全 (3)
- webstorm (2)
- sparkline (1)
- Job (1)
- git (3)
- Maven (3)
- knockout (5)
- jquery (1)
- bower (1)
- docker (1)
- confluence (4)
- wiki (1)
- GoogleMap (1)
- jekyll (10)
- ruby (2)
- npm (3)
- browserify (1)
- gulp (3)
- openwrt (1)
- discuz (3)
- 输入法 (1)
- JPA (1)
- eclipse (2)
- IntelliJ (1)
- css (1)
- 虚拟机 (1)
- 操作系统 (1)
- azkaban (2)
- scrum (1)
最新评论
-
pangxiea_:
你好, 想请问一下 Linux下 这么使用rxtxcomm 在 ...
使用Java进行串口通信 -
abababudei:
请教一下,这个您是怎么解决的:/dev/ttyS2enteri ...
Java应用程序的MODBUS通讯 -
xuniverse:
hannibal005 写道楼主,我问下 request.se ...
用javascript与java进行RSA加密与解密 -
atxkm:
找了一下午,终于找到了
gulp 拷贝文件时如何移除文件目录结构 -
kalogen:
gtczr 写道非常感谢,经过我自己的修改,已经完美实现。发出 ...
用javascript与java进行RSA加密与解密
第一个例子使用静态的方法 MessageFormat.format
,它在内部创建一个只使用一次的 MessageFormat
:
int planet = 7; String event = "a disturbance in the Force"; String result = MessageFormat.format( "At {1,time} on {1,date}, there was {2} on planet {0,number,integer}.", planet, new Date(), event);
输出为:
At 12:30 PM on Jul 3, 2053, there was a disturbance in the Force on planet 7.
下面的例子创建了一个可以重复使用的 MessageFormat
实例:
int fileCount = 1273; String diskName = "MyDisk"; Object[] testArgs = {new Long(fileCount), diskName}; MessageFormat form = new MessageFormat( "The disk \"{1}\" contains {0} file(s)."); System.out.println(form.format(testArgs));
不同 fileCount
值的输出:
The disk "MyDisk" contains 0 file(s). The disk "MyDisk" contains 1 file(s). The disk "MyDisk" contains 1,273 file(s).
对于更复杂的模式,可以使用 ChoiceFormat
来生成正确的单数和复数形式:
MessageFormat form = new MessageFormat("The disk \"{1}\" contains {0}."); double[] filelimits = {0,1,2}; String[] filepart = {"no files","one file","{0,number} files"}; ChoiceFormat fileform = new ChoiceFormat(filelimits, filepart); form.setFormatByArgumentIndex(0, fileform); int fileCount = 1273; String diskName = "MyDisk"; Object[] testArgs = {new Long(fileCount), diskName}; System.out.println(form.format(testArgs));
不同的 fileCount
值的输出:
The disk "MyDisk" contains no files. The disk "MyDisk" contains one file. The disk "MyDisk" contains 1,273 files.
=============================================================
MessageFormat 使用以下形式的模式: MessageFormatPattern: String MessageFormatPattern FormatElement String FormatElement: { ArgumentIndex } { ArgumentIndex , FormatType } { ArgumentIndex , FormatType , FormatStyle } FormatType: one of number date time choice FormatStyle: short medium long full integer currency percent SubformatPattern String: StringPartopt String StringPart StringPart: '' ' QuotedString ' UnquotedString SubformatPattern: SubformatPatternPartopt SubformatPattern SubformatPatternPart SubFormatPatternPart: ' QuotedPattern ' UnquotedPattern
在
String 中,"''" 表示单引号。QuotedString
可以包含除单引号之外的任意字符;围绕的单引号被移除。UnquotedString
可以包含除单引号和左花括号之外的任意字符。因此,格式化后消息字符串为 "'{0}'" 的字符串可以写作 "'''{'0}''" 或
"'''{0}'''"。
在 SubformatPattern 中,应用了不同的规则。QuotedPattern
可包含除单引号之外的任意字符,但不移除围绕的单引号,因此它们可以由子格式解释。例如,"{1,number,$'#',##}"
将产生一个带井号的数字格式,结果如:"$#31,45"。 UnquotedPattern
可以包含除单引号之外的任意字符,但其中的花括号必须成对出现。例如,"ab {0} de" 和 "ab '}' de" 是有效的子格式模式,而
"ab {0'}' de" 和 "ab } de" 则是无效的。
发表评论
-
高级Java程序员值得拥有的10本书
2015-05-04 07:24 810Java是时下最流行的编程语言之一。市面上也出现了适合初学者 ... -
深入理解java异常处理机制
2015-01-30 09:30 13271. 引子 try…catch…fi ... -
java 运行时参数设置
2015-01-07 09:13 865JVM的运行时参数: -Xms为执行单元内存的1/4, ... -
每个Java开发者都应该知道的5个JDK工具
2014-12-29 12:37 1139JDK是Java语言的软件开 ... -
使用双重锁判定可以大幅降低锁的征用
2014-12-29 12:30 746class ObjInstance { //单例 pri ... -
MAVEN Scope使用说明
2014-11-24 09:40 757在Maven的依赖管理中,经常会用到依赖的scope设置。这 ... -
Spring4 quartz job xml configuration
2014-11-11 09:46 14371. 定义job details public ... -
Add items into list in one line using guava
2014-11-10 10:54 721//@formatter:off fina ... -
配置动态读取(变化)文件 in Spring
2014-11-10 08:51 13231. 从环境变量中读取路径: <bean id=&q ... -
JAVA实现AES加密与解密
2014-11-04 15:34 659package com.eifesun.monitor.up ... -
Netty4.x分析
2014-07-31 11:06 1461官网定义: netty是一个异步、事件驱动的网络应用框架,用 ... -
Ways to sort lists of objects in Java based on multiple fields
2014-07-21 17:19 7711. the first way: Sorting wit ... -
how to parse a String to BigDecimal
2014-07-21 10:08 917private BigDecimal parsePrice( ... -
order list using google guava
2014-07-21 09:08 883Predicate<String> filter ... -
Java 读文件操作
2014-07-08 14:09 8861. only use java core, no exte ... -
怎样使Java 中测试按一定顺序执行
2014-03-10 11:27 1318@FixMethodOrder(MethodSorters. ... -
如何实现在当类初始化时,自动调动某个方法
2014-02-14 14:44 964有两种思路, 1. 将这个类实现为thread类 (or ... -
持续集成JenkinsAPI常见用法
2014-02-10 13:54 43jenkins(持续集成开源工具)提供了丰富的api接口,基 ... -
Sonar 安装与使用
2014-01-13 10:49 1730Sonar 是一个用于代码质量管理的开放平台。通过插件机制, ... -
源代码管理分析工具 Source Navigator的安装与使用
2014-01-13 09:51 1891Source-Navigator是原来redhat开发的一个 ...
相关推荐
MessageFormat是Java中用于格式化字符串的一个非常有用的类,它允许我们使用模板化的模式来插入变量值,并且支持多种格式,如数字、日期、时间等。这个类的主要优点在于其灵活性和可读性,使得代码更加清晰,易于...
在Java编程中,字符串格式化是一项非常重要的技能,它允许我们根据特定的模板来构造复杂的字符串,这在日志记录、输出报告或者处理用户界面显示时尤其有用。本教程将深入探讨Java中的字符串格式化技术,包括使用`...
8. **格式化字符串**:在C家族语言中,`printf`和`scanf`系列函数用于格式化输出和输入;在Java中,`String.format()`和`MessageFormat`类提供了类似的功能;在Python中,有`format()`方法和f-string。 9. **正则...
总之,`MessageFormat.format`是Java中处理格式化字符串的关键工具,通过其提供的模式和参数,开发者可以方便地生成符合特定格式要求的字符串,同时支持多种数据类型的格式化,是实现多语言应用不可或缺的一部分。
2. **类型安全**:不同于简单的字符串格式化方法(如`string.Format`),MessageFormat.NET在编译时就能检查格式化字符串和传入参数的匹配性,避免运行时错误。 3. **兼容ICU规范**:MessageFormat.NET完全遵循ICU ...
`MessageFormat`类提供了类似于printf风格的字符串格式化功能,可以用来格式化日期和时间。下面是一个使用`MessageFormat`将当前时间格式化为“yyyy-MM-dd-HH-mm:ss:ms”格式的例子: ```java String dateTime = ...
这可以通过格式化字符串完成,如`String name = "John"; int age = 30; String assembled = String.format("Name: %s, Age: %d", name, age);`,或者使用StringBuilder/Buffer的append方法。 3. 字符串截取:Java...
例如,假设我们有一个模板字符串`"欢迎,{0}!"`,我们可以使用`MessageFormat.format()`方法将"{0}"替换为用户的名字: ```java String template = "欢迎,{0}!"; String formatted = MessageFormat.format...
例如,创建Formatter对象并直接格式化输出到System.out,创建GregorianCalendar实例进行日期时间格式化,使用String.format()进行字符串的格式化,并且在例子中还使用了String.format()方法来格式化浮点数和整数。...
在给定的代码示例中,我们看到了如何使用`MessageFormat`、`SimpleDateFormat`和`Calendar`进行日期格式化: 1. 使用`MessageFormat.format()`方法,我们可以将日期对象格式化为字符串。这里的`{0,date,yyyy-MM-dd-...
2. **创建MessageFormat对象**:创建一个`IntlMessageFormat`实例,传入ICU消息字符串和所需的locale。例如: ```javascript const message = new IntlMessageFormat('你有{count, number}条未读消息', 'zh-CN'); ...
例如,在代码段中,`new SimpleDateFormat("yyyy MM dd HH mm ss")`创建了一个`SimpleDateFormat`实例,然后使用`format()`方法将`Date`对象转换为字符串,按照指定的格式"yyyy MM dd HH mm ss"。 3. `...
ResourceBundle的getBundle方法用于加载指定语言环境的资源包,MessageFormat的applyPattern和format方法则用来格式化文本并填充动态内容。 日期操作类通常包括java.util.Date,java.util.Calendar,以及java.text....
Java提供了几种格式化工具来处理日期、数字和字符串,以适应不同的文化习惯: - **DataFormat**:这是一个抽象类,提供了日期和时间的格式化。它的子类`SimpleDateFormat`可以创建自定义的日期和时间模式。 - *...
2. MessageFormat:格式化输出字符串,处理占位符。 3. ResourceBundle.Control:自定义加载策略,以优化资源文件的查找。 理解这些基本概念和机制后,我们可以灵活地在Spring应用中实现国际化,为全球用户提供更加...
5. 使用MessageFormat类来格式化含有占位符的消息; 6. 将这些类和资源包组合在一起,实现对多语言用户界面的支持。 例如,如果我们有一个资源文件"messages.properties"定义了用户界面的文本,同时我们还准备了...
除了使用.properties文件,Java还提供了`java.util.Formatter`和`java.text.MessageFormat`类,用于格式化和组合字符串,这样可以处理包含变量的文本。例如,`MessageFormat.format()`方法允许我们在字符串中插入...