资源描述:
《java中的format》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1.java.text.Format21.1.Format的方法21.2.Format的子类21.3.DateFormat的用法21.4.MessageFormat的用法21.5.NumberFormat的用法31.5.1.NumberFormat的介绍31.5.2.子类DecimalFormat31.5.3.子类ChoiceFormat31.5.4.ChoiceFormat的例子31.5.5.ChoiceFormat的pattern构造方法41.5.6.其它的数字格式化42.java.util.Formatte
2、r52.1.介绍52.2.转换(conversion)52.2.1.常规52.2.2.字符62.2.3.整数62.2.4.浮点62.2.5.日期/时间62.2.6.百分比62.2.7.行分隔符62.3.标志(flags)62.4.宽度(width)62.5.精度(.precision)63.java.util.regex.Pattern73.1.介绍73.2.关于regex73.3.Matcher(匹配器)7在Java中,有java.text.Format,java.util.Formatter,java.uti
3、l.regex.Pattern三个格式化相关的体系,使用起来较为复杂,在这里总结一下。1.java.text.Format1.1.Format的方法java.text.Format做为一个抽象类,有二个抽象方法,format(Objectobj,StringBuffertoAppendTo,FieldPositionpos):格式化一个对象,并将得到的文本追加到给定的字符缓冲区。是将obj格式化为字符串,并加入到toAppendTo中。parseObject(Stringsource,ParsePositionp
4、os):分析字符串文本,生成一个对象。是format方法的逆向方法,将String转化为Object。另外的format和parseObject这两个方法的重载。方法formatToCharacterIterator(Objectobj)并非抽象方法,api上要求子类必须实现这个方法。1.2.Format的子类Java2平台为格式化日期、消息和数字分别提供了三个特殊的Format的子类:DateFormat(抽象类)、MessageFormat和NumberFormat(抽象类)。——>DateFormat——>
5、SimpleDateFormatFormat——>MessageFormat——>NumberFormat——>ChoiceFormat——>DecimalFormat用于格式化十进制数字1.3.DateFormat的用法DateFormat是日期/时间格式化子类的抽象类,有一些static的get***Instance()方法来获得实例。通过设置结果的长度和地区,来获得日期,时间等的格式formatter。不太常用。一般会使用SimpleDateFormat子类,newSimpleDateFormat("yyy
6、y-MM-dd")或newSimpleDateFormat("yyyy-MM-ddHH:mm:ss"),来获得常用的时间格式。DateFormat的get***Instance()方法一般也是获得SimpleDateFormat。看DateFormat的源代码有个疑问,如果继承了DateFormat类,那DateFormat.get***Instance()的方法还是返回SimpleDateFormat?DateFormat.get是私有的,也不能覆盖。DateFormat类中还有一些static的字段,如WEE
7、K_OF_MONTH_FIELD,WEEK_OF_YEAR_FIELD。api上说在FieldPosition中使用,用于对齐。java.util.Calendar也是日期操作相关的类,实现类为GregorianCalendar。主要对日期进行操作。注意add方法和roll方法的区别,roll方法不更改更大的字段。还有一些静态的变量DAY_OF_MONTH,DAY_OF_WEEK等,在get/set/add/roll方法中使用。1.4.MessageFormat的用法和SimpleDateFormat一样,也需要
8、传入一个pattern。如Stringresult=MessageFormat.format("At{1,time}on{1,date},therewas{2}onplanet{0,number,integer}.",7,newDate(),“amessage”);其中{1,time}中1是指第几个参数,time是指格式化的类型。根据api进行设置,是调用NumberFo