<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Java未入门</title><link>http://pal.cndev.org/category/109.aspx</link><description>Java未入门</description><managingEditor>Fred</managingEditor><dc:language>zh-CHS</dc:language><generator>.Text Version 0.95.2004.101</generator><item><dc:creator>spacer</dc:creator><title>Microsoft JDBC "ResultSet Can Not Re-Read Row Data" Error</title><link>http://pal.cndev.org/archive/2005/12/09/44594.aspx</link><pubDate>2005-12-09 10:26:00Z</pubDate><guid>http://pal.cndev.org/archive/2005/12/09/44594.aspx</guid><wfw:comment>http://pal.cndev.org/comments/44594.aspx</wfw:comment><comments>http://pal.cndev.org/archive/2005/12/09/44594.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://pal.cndev.org/comments/commentRss/44594.aspx</wfw:commentRss><trackback:ping>http://pal.cndev.org/services/trackbacks/44594.aspx</trackback:ping><description>&lt;P&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"&gt;A&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"&gt;：使用&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"&gt;MS SQL Server 2000 SP&lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:chmetcnv w:st="on" UnitName="a" SourceValue="3" HasSpace="False" Negative="False" NumberType="1" TCSC="0"&gt;3a&lt;/st1:chmetcnv&gt;/SP4&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"&gt;做数据库服务器时，用&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"&gt;Microsoft&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"&gt;提供的&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"&gt;JDBC&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"&gt;驱动&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"&gt;(&lt;st1:chsdate w:st="on" Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False"&gt;2.2.0040&lt;/st1:chsdate&gt;)&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"&gt;，在查询时遇到一个&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"&gt;SQLException&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"&gt;：&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"&gt;&lt;BR&gt;java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]ResultSet can not re-read row data for column #&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"&gt;。查询语句和&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"&gt;JDBC&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"&gt;代码都没有问题，怀疑是&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"&gt;Microsoft&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"&gt;驱动的&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"&gt;BUG&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"&gt;，&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"&gt;google&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"&gt;一下果然在&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"&gt;Microsoft support&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"&gt;站点发现了问题：&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"&gt;&lt;A href="http://support.microsoft.com/kb/824106" target=_blank&gt;&lt;B&gt;&lt;U&gt;&lt;SPAN style="COLOR: windowtext"&gt;http://support.microsoft.com/kb/824106&lt;/SPAN&gt;&lt;/U&gt;&lt;/B&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"&gt;，原因是如果该表存在&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"&gt;TEXT, NTEXT, IMAGE&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"&gt;等大型字段，对于&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"&gt;ResultSet&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"&gt;的字段读取必须按照从左向右读，如果你用：&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"&gt;&lt;BR&gt;int a = rs.getInt(2);&lt;BR&gt;int b = rs.getInt(1);&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"&gt;则报错。&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"&gt;Microsoft&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"&gt;给出的方案是不能从右往左也不能连续读&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt; FONT-FAMILY: Arial"&gt;2&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"&gt;次。没办法自己改代码，严格从左向右读，结果就没有问题了。&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 9pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src ="http://pal.cndev.org/aggbug/44594.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>飞天</dc:creator><title>Jbuilder2006安装后第二次启动失败</title><link>http://pal.cndev.org/archive/2005/11/04/44206.aspx</link><pubDate>2005-11-04 20:04:00Z</pubDate><guid>http://pal.cndev.org/archive/2005/11/04/44206.aspx</guid><wfw:comment>http://pal.cndev.org/comments/44206.aspx</wfw:comment><comments>http://pal.cndev.org/archive/2005/11/04/44206.aspx#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://pal.cndev.org/comments/commentRss/44206.aspx</wfw:commentRss><trackback:ping>http://pal.cndev.org/services/trackbacks/44206.aspx</trackback:ping><description>&lt;P&gt;　正常安装，然后运行，一切正常&lt;BR&gt;&lt;BR&gt;　关闭&lt;BR&gt;　再启动&lt;BR&gt;　只出现了启动画面&lt;BR&gt;　然后就什么也没有了。&lt;/P&gt;
&lt;P&gt;　用Google一搜　jbuilder2006 启动　得到如下提示：&lt;/P&gt;
&lt;P&gt;　　&lt;SPAN class=javascript id=text159368&gt;start &amp;gt; run &amp;gt; cmd.exe &amp;gt; cd &amp;lt;jb2006&amp;gt;\bin &amp;gt; jbuilder.exe　or JBuilder.exe -verbose　看exception &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=javascript&gt;　然后编辑/bin下的jbuilder.config文件，原来　　vmmemmax设置的值为75%,我将其改为128m就可以了，如果你的内存空间够大，还可以再设置大些，比如256m &lt;BR&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=javascript&gt;　相关文章：　&lt;A href="http://www.cjsdn.net/post/view?bid=7&amp;amp;id=159125"&gt;http://www.cjsdn.net/post/view?bid=7&amp;amp;id=159125&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=javascript&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=javascript&gt;　我的机器内存是1.5G，可能出在这儿了：&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=javascript&gt;　我修改jbuilder.config：&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;SPAN class=javascript&gt;vmmemmin 128m&lt;BR&gt;vmmemmax 512m&lt;BR&gt;vmparam -XX:MaxPermSize=512m&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;/P&gt;&lt;img src ="http://pal.cndev.org/aggbug/44206.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>飞天</dc:creator><title>今天编译java的遇到的问题</title><link>http://pal.cndev.org/archive/2005/04/13/10543.aspx</link><pubDate>2005-04-13 16:12:00Z</pubDate><guid>http://pal.cndev.org/archive/2005/04/13/10543.aspx</guid><wfw:comment>http://pal.cndev.org/comments/10543.aspx</wfw:comment><comments>http://pal.cndev.org/archive/2005/04/13/10543.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://pal.cndev.org/comments/commentRss/10543.aspx</wfw:commentRss><trackback:ping>http://pal.cndev.org/services/trackbacks/10543.aspx</trackback:ping><description>1 在引用 import java.util.regex 时 没有注意 regex是一包&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 正确应是 import java.util.regex.* &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 出错: regex.java:1: cannot find symbol&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; symbol&amp;nbsp; : class regex&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; location: package java.util&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp; 2 机器上有两个不同的java环境， 编译javac 和运行 java，由于&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 没有指定目录 在运行时出错&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 出错：Exception in thread "main" java.lang.UnsupportedClassVersionError: Regex (Unsupp&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; orted major.minor version 49.0)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp; 3 main函数没有加参数而声明&lt;BR&gt;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void main()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 编译过通过，但运行出错&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 出错：Exception in thread "main" java.lang.NoSuchMethodError: main&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 正确 &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void main(String[] args)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp; 4 在当前目录加java环境变量&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set CLASSPATH=.;D:\Java\jdk1.5.0\lib;D:\Java\jdk1.5.0\lib\tools.jar&amp;nbsp; &lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp; 想好好学java吧, 做下一个吃饭的东东&lt;img src ="http://pal.cndev.org/aggbug/10543.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>飞天</dc:creator><title>java 批处理运行</title><link>http://pal.cndev.org/archive/2005/03/14/8125.aspx</link><pubDate>2005-03-14 23:41:00Z</pubDate><guid>http://pal.cndev.org/archive/2005/03/14/8125.aspx</guid><wfw:comment>http://pal.cndev.org/comments/8125.aspx</wfw:comment><comments>http://pal.cndev.org/archive/2005/03/14/8125.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://pal.cndev.org/comments/commentRss/8125.aspx</wfw:commentRss><trackback:ping>http://pal.cndev.org/services/trackbacks/8125.aspx</trackback:ping><description>@echo off&lt;BR&gt;set CP=D:\Java\JRun4\lib\jrun.jar;%CLASSPATH%&lt;BR&gt;set cmd=java -classpath "%CP%" %*&lt;BR&gt;echo %cmd%&lt;BR&gt;%cmd%&lt;BR&gt;set CP=&lt;BR&gt;&lt;img src ="http://pal.cndev.org/aggbug/8125.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>飞天</dc:creator><title>昨天，去听李维的课，关于JBuildX的ALM</title><link>http://pal.cndev.org/archive/2004/09/02/3056.aspx</link><pubDate>2004-09-02 08:59:00Z</pubDate><guid>http://pal.cndev.org/archive/2004/09/02/3056.aspx</guid><wfw:comment>http://pal.cndev.org/comments/3056.aspx</wfw:comment><comments>http://pal.cndev.org/archive/2004/09/02/3056.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://pal.cndev.org/comments/commentRss/3056.aspx</wfw:commentRss><trackback:ping>http://pal.cndev.org/services/trackbacks/3056.aspx</trackback:ping><description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;李维把JBuildX的ALM(软件应用周期解决方案)&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.borland.com.cn/events/Java_Seminar2004_Reg.html"&gt;http://www.borland.com.cn/events/Java_Seminar2004_Reg.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src ="http://pal.cndev.org/aggbug/3056.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>飞天</dc:creator><title>一个 The Formatter Class in J2SE 1.5  例子 </title><link>http://pal.cndev.org/archive/2004/06/02/479.aspx</link><pubDate>2004-06-02 13:38:00Z</pubDate><guid>http://pal.cndev.org/archive/2004/06/02/479.aspx</guid><wfw:comment>http://pal.cndev.org/comments/479.aspx</wfw:comment><comments>http://pal.cndev.org/archive/2004/06/02/479.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://pal.cndev.org/comments/commentRss/479.aspx</wfw:commentRss><trackback:ping>http://pal.cndev.org/services/trackbacks/479.aspx</trackback:ping><description>&lt;P&gt;/*&lt;BR&gt;&amp;nbsp;* Created on 2004-6-1&lt;BR&gt;&amp;nbsp;*&lt;BR&gt;&amp;nbsp;* To change the template for this generated file go to&lt;BR&gt;&amp;nbsp;* Window&amp;amp;gt;Preferences&amp;amp;gt;Java&amp;amp;gt;Code Generation&amp;amp;gt;Code and Comments&lt;BR&gt;&amp;nbsp;*/&lt;BR&gt;/**&lt;BR&gt;&amp;nbsp;* @author pal&lt;BR&gt;&amp;nbsp;*&lt;BR&gt;&amp;nbsp;* To change the template for this generated type comment go to&lt;BR&gt;&amp;nbsp;* Window&amp;amp;gt;Preferences&amp;amp;gt;Java&amp;amp;gt;Code Generation&amp;amp;gt;Code and Comments&lt;BR&gt;&amp;nbsp;*/&lt;/P&gt;
&lt;P&gt;/**&lt;BR&gt;&amp;nbsp;* &lt;BR&gt;&amp;nbsp;* 在Delphi中用习惯 Format() 函数, 好在 Java 1.5.0 中支持了:)&lt;BR&gt;&amp;nbsp;* &lt;BR&gt;&amp;nbsp;* &lt;BR&gt;&amp;nbsp;*/&lt;/P&gt;
&lt;P&gt;import java.util.*;&lt;/P&gt;
&lt;P&gt;public class TestFormatter&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;public static void main(String[] args)&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;String str1 = "aa";&lt;BR&gt;&amp;nbsp;&amp;nbsp;String str2 = "eeee";&lt;BR&gt;&amp;nbsp;&amp;nbsp;Integer a = new Integer(65);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;// Char&lt;BR&gt;&amp;nbsp;&amp;nbsp;Object[] objs = new Object[1];&lt;BR&gt;&amp;nbsp;&amp;nbsp;objs[0] = a;&lt;BR&gt;&amp;nbsp;&amp;nbsp;// %n 回车换行&lt;BR&gt;&amp;nbsp;&amp;nbsp;System.out.printf("char: %c %n", objs);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;// Integer&lt;BR&gt;&amp;nbsp;&amp;nbsp;Object[] objs1 = new Object[5];&lt;BR&gt;&amp;nbsp;&amp;nbsp;objs1[0] = a;&lt;BR&gt;&amp;nbsp;&amp;nbsp;objs1[1] = a;&lt;BR&gt;&amp;nbsp;&amp;nbsp;objs1[2] = a;&lt;BR&gt;&amp;nbsp;&amp;nbsp;objs1[3] = a;&lt;BR&gt;&amp;nbsp;&amp;nbsp;String&amp;nbsp; str = String.format("char: %c integral: %d octal: %o hex: %x %n", objs1);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(str); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Object[] objs2 = new Object[3];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; objs2[0] = new String("syd");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; objs2[1] = new String("fly");&lt;BR&gt;&amp;nbsp;&amp;nbsp;System.out.printf("reason: %s (noted by %s) %n", objs2);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;// Date&lt;BR&gt;&amp;nbsp;&amp;nbsp;Object[] objs3 = new Object[1];&lt;BR&gt;&amp;nbsp;&amp;nbsp;objs3[0] = new Date();&lt;BR&gt;&amp;nbsp;&amp;nbsp;//文档中的 tL 好像没有实现, 可以参考jdk厡代码&lt;BR&gt;&amp;nbsp;&amp;nbsp;System.out.printf("%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS %1$tN %n", objs3);&lt;BR&gt;&amp;nbsp;&amp;nbsp;System.out.printf("%1$tF %1$tT %n", objs3);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;// Float&lt;BR&gt;&amp;nbsp;&amp;nbsp;Object[] objs4 = new Object[1];&lt;BR&gt;&amp;nbsp;&amp;nbsp;objs4[0] = new Float(6.0);&lt;BR&gt;&amp;nbsp;&amp;nbsp;StringBuffer buff = new StringBuffer();&lt;BR&gt;&amp;nbsp;&amp;nbsp;Formatter ft = new Formatter(buff);&lt;BR&gt;&amp;nbsp;&amp;nbsp;ft.format("a float numberic: %f %n", objs4);&lt;BR&gt;&amp;nbsp;&amp;nbsp;System.out.println(buff.toString());&lt;BR&gt;&amp;nbsp;}&lt;BR&gt;}&lt;BR&gt;&lt;/P&gt;&lt;img src ="http://pal.cndev.org/aggbug/479.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>飞天</dc:creator><title>The Formatter Class in J2SE 1.5</title><link>http://pal.cndev.org/archive/2004/06/01/418.aspx</link><pubDate>2004-06-01 10:27:00Z</pubDate><guid>http://pal.cndev.org/archive/2004/06/01/418.aspx</guid><wfw:comment>http://pal.cndev.org/comments/418.aspx</wfw:comment><comments>http://pal.cndev.org/archive/2004/06/01/418.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://pal.cndev.org/comments/commentRss/418.aspx</wfw:commentRss><trackback:ping>http://pal.cndev.org/services/trackbacks/418.aspx</trackback:ping><description>&lt;P&gt;&lt;FONT face="Arial, Helvetica" size=+1&gt;&lt;B&gt;文章来源:&amp;nbsp; &lt;A href="http://www.developer.com/java/other/article.php/3327721"&gt;http://www.developer.com/java/other/article.php/3327721&lt;/A&gt;
&lt;HR id=null&gt;
&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Arial, Helvetica" size=+1&gt;&lt;B&gt;The Formatter Class in J2SE 1.5&lt;/B&gt;&lt;/FONT&gt;&lt;BR&gt;By &lt;A href="http://www.developer.com/feedback.php/http://www.developer.com/java/other/article.php/3327721"&gt;Jeff Langr&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Verdana, Arial, Helvetica" size=-1&gt;&lt;!--content_start--&gt;
&lt;P&gt;Java 1.5 introduces a new class named java.util.Formatter that allows you to do string formatting similar to the &lt;CODE&gt;printf&lt;/CODE&gt; function in C. It depends heavily on the varargs feature being introduced in 1.5.&lt;/P&gt;
&lt;H3&gt;System.out.printf&lt;/H3&gt;
&lt;P&gt;The first way you'll learn to work with the Formatter is not to interact with it directly, but instead to use the new PrintStream method &lt;CODE&gt;printf&lt;/CODE&gt;. You're probably most familiar with PrintStream from doing &lt;CODE&gt;System.out.println&lt;/CODE&gt; calls. Here is a simple example of the new &lt;CODE&gt;printf&lt;/CODE&gt; method:&lt;/P&gt;&lt;PRE&gt;String initials = "jjl";
String comment  = "just because";
System.out.printf("reason: %s (noted by %s)", comment, initials);
&lt;/PRE&gt;
&lt;P&gt;The example prints the following output on the console:&lt;/P&gt;&lt;PRE&gt;reason: just because (noted by jjl)&lt;/PRE&gt;
&lt;P&gt;In the example code, you are passing &lt;CODE&gt;printf&lt;/CODE&gt; a format string that contains embedded format specifiers. You also pass it a list of arguments, each of which corresponds to a format specifier. There are two format specifiers in the example: &lt;CODE&gt;%s&lt;/CODE&gt; and &lt;CODE&gt;%s&lt;/CODE&gt;. The first corresponds to the &lt;CODE&gt;comment&lt;/CODE&gt; argument, and the second corresponds to the &lt;CODE&gt;initials&lt;/CODE&gt; argument.&lt;/P&gt;
&lt;P&gt;A &lt;CODE&gt;%&lt;/CODE&gt; in a format string designates the start of a format specifier. The end of a format specifier is triggered by one of many possible characters known as &lt;I&gt;conversions&lt;/I&gt;. In the &lt;CODE&gt;%s&lt;/CODE&gt; format specifier, the lowercase &lt;CODE&gt;s&lt;/CODE&gt; indicates a String conversion. A string conversion means that Java calls &lt;CODE&gt;toString&lt;/CODE&gt; on the corresponding argument, and substitutes the result for the format specifier.&lt;/P&gt;
&lt;H3&gt;String.format&lt;/H3&gt;
&lt;P&gt;If you only want to obtain a formatted string, but not print it, you can use the static method &lt;CODE&gt;format&lt;/CODE&gt; on the String class. Here's an example that also demonstrates a few numeric conversions:&lt;/P&gt;&lt;PRE&gt;int a = 65;
String s = 
   String.format("char: %c integral: %d octal: %o hex: %x %n",
      a, a, a, a);
&lt;/PRE&gt;
&lt;P&gt;The &lt;CODE&gt;%n&lt;/CODE&gt; at the end of the format string indicates a &lt;I&gt;platform-specific&lt;/I&gt; line separator. When printed, the String &lt;CODE&gt;s&lt;/CODE&gt; looks like this:&lt;/P&gt;&lt;PRE&gt;char: A integral: 65 octal: 101 hex: 41&lt;/PRE&gt;
&lt;P&gt;Numeric conversions also support flags for padding, grouping, justification, and sign.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;B&gt;Note:&lt;/B&gt; There are four arguments, each using the reference &lt;CODE&gt;a&lt;/CODE&gt;. Were you to supply only three, or were one of the arguments an invalid type (for example, a string), the format method would have generated one of a few runtime exceptions. This is unlike C, which ignores any formatting problems.&lt;/BLOCKQUOTE&gt;
&lt;P&gt;If you want to use the same argument more than once against a format string, you can use a shortcut:&lt;/P&gt;&lt;PRE&gt;String s = String.format("char: %c integral:
           %&amp;lt;d octal: %&amp;lt;o hex: %&amp;lt;x %n", a);
&lt;/PRE&gt;
&lt;P&gt;The &lt;CODE&gt;a&lt;/CODE&gt; reference is specified only once. The less-than sign (&lt;CODE&gt;&amp;lt;&lt;/CODE&gt;) in a format specifier means that it should use the same argument as the last format specifier.&lt;/P&gt;
&lt;H3&gt;Dates&lt;/H3&gt;
&lt;P&gt;Formatter provides an extensive number of date-related conversions. The following code:&lt;/P&gt;&lt;PRE&gt;String.format("%1$td %1$tb %1$ty", new Date())&lt;/PRE&gt;
&lt;P&gt;produces a string with the value:&lt;/P&gt;&lt;PRE&gt;26 Feb 04&lt;/PRE&gt;
&lt;P&gt;The &lt;CODE&gt;1$&lt;/CODE&gt; in each format specifier is another way to designate which argument to use. In this example, all three format specifiers target the first argument.&lt;/P&gt;
&lt;P&gt;The last part of each format specifier is how you do date conversions&amp;#8212;using a two-character sequence starting with a &lt;CODE&gt;t&lt;/CODE&gt;. The second character indicates the date part to convert. For example, &lt;CODE&gt;td&lt;/CODE&gt; in the first specifier converts the day of the month.&lt;/P&gt;
&lt;H3&gt;java.util.Formatter&lt;/H3&gt;
&lt;P&gt;The Formatter class is at the core of the new formatting capability. It fully supports internationalization by letting you pass a Locale to the constructor; the other formatting methods (e.g. String.format) also allow this.&lt;/P&gt;
&lt;P&gt;Formatter also lets you pass an Appendable object. This is a new interface that defines &lt;CODE&gt;append&lt;/CODE&gt; methods so that the formatter can store its results in a text collector such as a stream object. Sun has modified all relevant Java classes, such as StringBuffer and PrintStream, to implement this interface. Here's how you might use it:&lt;/P&gt;&lt;PRE&gt;double avogadro     = 6.0e23;
StringBuffer buffer = new StringBuffer();
Formatter formatter = new Formatter(buffer, Locale.US);
formatter.format("avogadro's number: %e %n", avogadro);
formatter.format("base of the natural log: %e %n", Math.E);
System.out.println(buffer.toString());
&lt;/PRE&gt;
&lt;P&gt;The corresponding output:&lt;/P&gt;&lt;PRE&gt;avogadro's number:       6.000000e+23
base of the natural log: 2.718282e+00
&lt;/PRE&gt;
&lt;H3&gt;Summary&lt;/H3&gt;
&lt;P&gt;There are dozens of conversions available in the Formatter class and a few more things that are not covered here. To learn more about formatting, refer to the Java API documentation pages for java.util.Formatter.&lt;/P&gt;
&lt;H3&gt;Trying It Out&lt;/H3&gt;
&lt;P&gt;You can &lt;A href="http://java.sun.com/j2se/1.5.0/download.jsp" target=new&gt;download the current beta version of J2SE 1.5&lt;/A&gt; from Sun's Web site.&lt;/P&gt;
&lt;H3&gt;About the Author&lt;/H3&gt;
&lt;P&gt;Jeff Langr is a freelance author and the owner of &lt;A href="http://www.langrsoft.com/" target=new&gt;Langr Software Solutions&lt;/A&gt;. He is working on a second book on Java and test-driven development entitled &lt;B&gt;Agile Java&lt;/B&gt;, due out from Prentice Hall in fall 2004.&lt;/P&gt;&lt;!--content_stop--&gt;&lt;/FONT&gt;&lt;img src ="http://pal.cndev.org/aggbug/418.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>