﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><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>语源科技BlogJava-li40204</title><link>http://www.blogjava.net/li40204/</link><description /><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 06:01:48 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 06:01:48 GMT</pubDate><ttl>60</ttl><item><title>SMTP IMSS</title><link>http://www.blogjava.net/li40204/archive/2011/12/30/367533.html</link><dc:creator>li40204</dc:creator><author>li40204</author><pubDate>Thu, 29 Dec 2011 16:24:00 GMT</pubDate><guid>http://www.blogjava.net/li40204/archive/2011/12/30/367533.html</guid><wfw:comment>http://www.blogjava.net/li40204/comments/367533.html</wfw:comment><comments>http://www.blogjava.net/li40204/archive/2011/12/30/367533.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/li40204/comments/commentRss/367533.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/li40204/services/trackbacks/367533.html</trackback:ping><description><![CDATA[<div>最近有customer说收不到我们系统发的email，查了一段时间，总算有所收获，对SMTP也有了些许了解。<br /><br />一开始以为是我们邮件服务器IP被blacklist了或对方把我们的IP给禁了。于是就试了下用telnet SMTP测试下：<br /><br />telnet #customer.domain.com# 25<br /><br />EHCO sdfa<br /><br />MAIL FROM: &lt;<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#102;&#114;&#111;&#109;&#64;&#120;&#120;&#120;&#46;&#99;&#111;&#109;">from@xxx.com</a>&gt;<br />RCPT TO: &lt;<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#116;&#111;&#64;&#120;&#120;&#120;&#120;&#120;&#120;&#46;&#99;&#111;&#109;">to@xxxxxx.com</a>&gt;<br />DATA<br /><br />.<br />QUIT<br /><br />结果测试我们是可以telnet到对方的SMTP server的，这样发是可以发送成功的，即排除了对方把我们禁了的可能。可如果telnet到我们自己的SMTP server的话，就失败了。<br /><br />telnet #own.domain.com# 25<br />...<br /><br />后来查了很久，原来是因为timeout的原因：我们用的IMSS gateway有timeout机制。查Log发现，连接对方SMTP SERVER无问题，MAIL FROM command也无问题，可就在RCPT TO 这个command超时了，超过30s都没有response从对方SMTP SERVER回来，估计对方的SMTP SERVER不怎么好，parse和查找个email address (end user: <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#116;&#111;&#64;&#120;&#120;&#120;&#120;&#46;&#99;&#111;&#109;">to@xxxx.com</a>)都要花很长时间。后来我们就timeout的参数，从30s调到60s，果然就可以了，估计对方SMTP server之行RCPT TO这个命令都花了30－40s。<br /><br />问题解决<br /></div><img src ="http://www.blogjava.net/li40204/aggbug/367533.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/li40204/" target="_blank">li40204</a> 2011-12-30 00:24 <a href="http://www.blogjava.net/li40204/archive/2011/12/30/367533.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu vi 设置</title><link>http://www.blogjava.net/li40204/archive/2011/04/20/348600.html</link><dc:creator>li40204</dc:creator><author>li40204</author><pubDate>Tue, 19 Apr 2011 16:06:00 GMT</pubDate><guid>http://www.blogjava.net/li40204/archive/2011/04/20/348600.html</guid><wfw:comment>http://www.blogjava.net/li40204/comments/348600.html</wfw:comment><comments>http://www.blogjava.net/li40204/archive/2011/04/20/348600.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/li40204/comments/commentRss/348600.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/li40204/services/trackbacks/348600.html</trackback:ping><description><![CDATA[Ubuntu vi 默认不支持键盘的方向键和Backspace键，很不方便，可以修改/etc/vim下面动vimrc.tiny，使其支持。<br />
<br />
vi /etc/vim/vimrc.tiny<br />
<strong><span style="color: red;"><span style="color: red;"><span style="color: red;"><strong><span style="color: red;">set compatible</span></strong></span></span></span></strong> -&gt; change to <strong><span style="color: red;"><span style="color: red;"><span style="color: red;"><strong><span style="color: red;">set nocompatible<br />
</span></strong></span></span></span></strong>And add <strong><span style="color: red;"><span style="color: red;"><span style="color: red;"><strong><span style="color: red;">set backspace=2<br />
</span></strong></span></span></span></strong><br />
<br />
<img src ="http://www.blogjava.net/li40204/aggbug/348600.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/li40204/" target="_blank">li40204</a> 2011-04-20 00:06 <a href="http://www.blogjava.net/li40204/archive/2011/04/20/348600.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Core Java -- Class Design Hints</title><link>http://www.blogjava.net/li40204/archive/2010/12/10/340252.html</link><dc:creator>li40204</dc:creator><author>li40204</author><pubDate>Fri, 10 Dec 2010 05:41:00 GMT</pubDate><guid>http://www.blogjava.net/li40204/archive/2010/12/10/340252.html</guid><wfw:comment>http://www.blogjava.net/li40204/comments/340252.html</wfw:comment><comments>http://www.blogjava.net/li40204/archive/2010/12/10/340252.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/li40204/comments/commentRss/340252.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/li40204/services/trackbacks/340252.html</trackback:ping><description><![CDATA[<p class="docList"><span class="docEmphasis"><strong><em><span style="font-family: Arial">1.&nbsp;Always keep data private.</span></em></strong></span></p>
<br />
<strong><em><span style="font-family: Arial">2. </span></em></strong><span class="docEmphasis"><strong><em><span style="font-family: Arial">Always initialize data.<br />
<br />
3. </span></em></strong><span class="docEmphasis"><strong><em><span style="font-family: Arial">Don't use too many basic types in a class.<br />
<br />
4. </span></em></strong><span class="docEmphasis"><strong><em><span style="font-family: Arial">Not all fields need individual field accessors and mutators.<br />
<br />
5. </span></em></strong><span class="docEmphasis"><strong><em><span style="font-family: Arial">Use a standard form for class definitions.<br />
<br />
</span></em></strong>
<p class="docList"><span class="docEmphasis"><strong><em><span style="font-family: Arial">6. Break up classes with too many responsibilities.</span></em></strong></span></p>
<br />
<strong><em><span style="font-family: Arial">7. <span class="docEmphasis">Make the names of your classes and methods reflect their responsibilities.</span></span></em></strong></span></span></span></span>
<img src ="http://www.blogjava.net/li40204/aggbug/340252.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/li40204/" target="_blank">li40204</a> 2010-12-10 13:41 <a href="http://www.blogjava.net/li40204/archive/2010/12/10/340252.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Core Java学习笔记(四)</title><link>http://www.blogjava.net/li40204/archive/2010/12/10/340247.html</link><dc:creator>li40204</dc:creator><author>li40204</author><pubDate>Fri, 10 Dec 2010 04:00:00 GMT</pubDate><guid>http://www.blogjava.net/li40204/archive/2010/12/10/340247.html</guid><wfw:comment>http://www.blogjava.net/li40204/comments/340247.html</wfw:comment><comments>http://www.blogjava.net/li40204/archive/2010/12/10/340247.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/li40204/comments/commentRss/340247.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/li40204/services/trackbacks/340247.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;不知不觉又停了N天学习，看来坚持对偶来说真是难于登天啊。。。<br />
<br />
<p class="docText">The <tt><em><span style="color: #3366ff"><tt><em>javac</em></tt> </span></em></tt>compiler always looks for files in the current directory, but the <tt><em><span style="color: #3366ff"><tt><em>java</em></tt> </span></em></tt>interpreter only looks into the current directory if the<span style="color: red">&nbsp;"<tt>.</tt>"</span> directory is on the class path. If you have no class path set, this is not a problem—the default class path consists of the "<tt>.</tt>" directory. But if you have set the class path and forgot to include the "<tt>.</tt>" directory, then your programs will compile without error, but they won't run.<br />
<br />
Features tagged as <tt>public</tt> can be used by any class. Private features can be used only by the class that defines them. If you don't specify either <tt>public</tt> or <tt>private</tt>, then the feature (that is, the class, method, or variable) can be accessed by all methods in the same <span class="docEmphasis">package</span>.<br />
<br />
</p>
<h4 class="docSection2Title">Comment Extraction</h4>
<p class="docText"><a name="ch04index270"></a><a name="ch04index271"></a></p>
<p class="docText">Here, <span class="docEmphasis">docDirectory</span> is the name of the directory where you want the HTML files to go. Follow these steps:</p>
<p class="docText"><a name="ch04pr02"></a>
<table class="docText" border="0">
    <tbody>
        <tr>
            <td valign="top" width="25">
            <div class="docText"><strong>1. </strong></div>
            </td>
            <td>
            <div class="docText">Change to the directory that contains the source files you want to document. If you have nested packages to document, such as <tt>com.horstmann.corejava</tt>, you must be working in the directory that contains the subdirectory <tt>com</tt>. (This is the directory that contains the <tt>overview.html</tt> file if you supplied one.)<br />
            <br />
            </div>
            </td>
        </tr>
        <tr>
            <td valign="top" width="25">
            <div class="docText"><strong>2. </strong></div>
            </td>
            <td>
            <div class="docText">Run the command<br />
            <br />
            <p class="docText"><br />
            <tt>javadoc -d</tt>&nbsp;<span class="docEmphasis">docDirectory&nbsp;nameOfPackage</span><br />
            </p>
            for a single package. Or run<br />
            <br />
            <p class="docText"><br />
            <tt>javadoc -d</tt>&nbsp;<span class="docEmphasis">docDirectory&nbsp;nameOfPackage</span><tt><sub>1</sub></tt>&nbsp;<span class="docEmphasis">nameOfPackage</span><tt><sub>2</sub>...</tt><br />
            </p>
            to document multiple packages. If your files are in the default package, then instead run<br />
            <br />
            <p class="docText"><br />
            <tt>javadoc -d</tt>&nbsp;<span class="docEmphasis">docDirectory</span>&nbsp;<tt>*.java</tt><br />
            </p>
            </div>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
<br />
<br />
</p>
 <img src ="http://www.blogjava.net/li40204/aggbug/340247.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/li40204/" target="_blank">li40204</a> 2010-12-10 12:00 <a href="http://www.blogjava.net/li40204/archive/2010/12/10/340247.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Core Java学习笔记(三)</title><link>http://www.blogjava.net/li40204/archive/2010/10/10/334195.html</link><dc:creator>li40204</dc:creator><author>li40204</author><pubDate>Sun, 10 Oct 2010 10:10:00 GMT</pubDate><guid>http://www.blogjava.net/li40204/archive/2010/10/10/334195.html</guid><wfw:comment>http://www.blogjava.net/li40204/comments/334195.html</wfw:comment><comments>http://www.blogjava.net/li40204/archive/2010/10/10/334195.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/li40204/comments/commentRss/334195.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/li40204/services/trackbacks/334195.html</trackback:ping><description><![CDATA[用System.out.printf方法进行格式化输出；也可用String.format方法创建一个格式化的String, 而不需要打印输出。<br />
<br />
日期格式设置参考Core Java, Volumn 1的P55页，许多格式化规则与本地环境有关。<br />
<br />
java.util.Arrays类包含了用来操作数组(例如排序与搜索)的各种方法，常用方法如下:<br />
<br />
static String toString(type[] a)<br />
<br />
static void sort(type[] a)&nbsp;&nbsp; //Quick Sort<br />
<br />
static int binarySearcch(type[] a, type v)<br />
<br />
static void fill(type[] a, type v)&nbsp;&nbsp; //将数组的所有数据元素值设为v<br />
<br />
....<br />
<br />
End of Chapter 3<br />
<br />
<br />
<br />
<br />
<br />
<br />
 <img src ="http://www.blogjava.net/li40204/aggbug/334195.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/li40204/" target="_blank">li40204</a> 2010-10-10 18:10 <a href="http://www.blogjava.net/li40204/archive/2010/10/10/334195.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java读取控制台读入</title><link>http://www.blogjava.net/li40204/archive/2010/10/02/333658.html</link><dc:creator>li40204</dc:creator><author>li40204</author><pubDate>Sat, 02 Oct 2010 09:57:00 GMT</pubDate><guid>http://www.blogjava.net/li40204/archive/2010/10/02/333658.html</guid><wfw:comment>http://www.blogjava.net/li40204/comments/333658.html</wfw:comment><comments>http://www.blogjava.net/li40204/archive/2010/10/02/333658.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/li40204/comments/commentRss/333658.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/li40204/services/trackbacks/333658.html</trackback:ping><description><![CDATA[Java读取控制台System.in 输入相对麻烦点，要先构造一个Scanner对象，并与标准输入流System.in关联。(Scanner包含在包java.util中)<br />
<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><span style="color: #000000">Scanner&nbsp;in&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Scanner(System.in);<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">What&nbsp;is&nbsp;your&nbsp;name?</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />String&nbsp;name&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;in.nextLine();&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">读整行，因为可能包括空格<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #008000">//</span><span style="color: #008000">Or<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #008000">//</span><span style="color: #008000">String&nbsp;name&nbsp;=&nbsp;in.next();&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">以空白符为分隔<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #008000">//</span><span style="color: #008000">int&nbsp;age&nbsp;=&nbsp;in.nextInt();&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">读取整数</span></div>
<br />
使用Scanner时输入是可见的，因此不适用从控制台读取密码。Console类可以实现这个目的。<br />
<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console&nbsp;cons&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;System.console();<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">Method&nbsp;prototype:<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">static&nbsp;String&nbsp;readLine(String&nbsp;prompt,&nbsp;Object<img src="http://www.blogjava.net/Images/dot.gif"  alt="" />args)<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">显示字符串prompt并且读取用户输入直到输入行结束,&nbsp;args参数用来提供输入格式</span><span style="color: #008000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;username&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;cons.readLine(</span><span style="color: #000000">"</span><span style="color: #000000">User&nbsp;name:&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">Method&nbsp;prototype:<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">static&nbsp;char[]&nbsp;readPassword(String&nbsp;prompt,&nbsp;Object<img src="http://www.blogjava.net/Images/dot.gif"  alt="" />args)<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">用户输入不可见</span><span style="color: #008000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">char</span><span style="color: #000000">[]&nbsp;pwd&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;cons.readPassword();</span></div>
<br />
<br />
<br />
<img src ="http://www.blogjava.net/li40204/aggbug/333658.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/li40204/" target="_blank">li40204</a> 2010-10-02 17:57 <a href="http://www.blogjava.net/li40204/archive/2010/10/02/333658.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Core Java学习笔记(二)</title><link>http://www.blogjava.net/li40204/archive/2010/10/02/333657.html</link><dc:creator>li40204</dc:creator><author>li40204</author><pubDate>Sat, 02 Oct 2010 09:22:00 GMT</pubDate><guid>http://www.blogjava.net/li40204/archive/2010/10/02/333657.html</guid><wfw:comment>http://www.blogjava.net/li40204/comments/333657.html</wfw:comment><comments>http://www.blogjava.net/li40204/archive/2010/10/02/333657.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/li40204/comments/commentRss/333657.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/li40204/services/trackbacks/333657.html</trackback:ping><description><![CDATA[&nbsp;
<p><span style="font-family: 'Arial', 'sans-serif'">Java</span><span style="font-family: '微软雅黑', 'sans-serif'">中有</span><span style="font-family: 'Arial', 'sans-serif'">8</span><span style="font-family: '微软雅黑', 'sans-serif'">种基本数据类型：</span><span style="font-family: 'Arial', 'sans-serif'">int, short, long, byte, float, double, char, boolean</span></p>
<p><span style="font-family: '微软雅黑', 'sans-serif'">在</span><span style="font-family: 'Arial', 'sans-serif'">Java</span><span style="font-family: '微软雅黑', 'sans-serif'">中，</span><span style="font-family: '微软雅黑', 'sans-serif'">整型的范围与运行</span><span style="font-family: 'Arial', 'sans-serif'">java</span><span style="font-family: '微软雅黑', 'sans-serif'">代码的机器无关。在</span><span style="font-family: 'Arial', 'sans-serif'">C/C++</span><span style="font-family: '微软雅黑', 'sans-serif'">程序中，</span><span style="font-family: 'Arial', 'sans-serif'">int</span><span style="font-family: '微软雅黑', 'sans-serif'">类型占用的字节可能会因不同机器不同操作系统而不同；而在</span><span style="font-family: 'Arial', 'sans-serif'">java</span><span style="font-family: '微软雅黑', 'sans-serif'">中，各种整型的存储需求已经被明确定义</span><span style="font-family: 'Arial', 'sans-serif'">(int: 4 bytes; short: 2 bytes; long: 8 bytes; byte: 1 byte)</span><span style="font-family: '微软雅黑', 'sans-serif'">，从而实现了平台无关性。</span></p>
<p><span style="font-family: '微软雅黑', 'sans-serif'">常用整型、浮点型常量：</span></p>
<p style="text-indent: -21pt; margin-left: 32pt" class="MsoListParagraph"><span style="font-family: Wingdings">l&nbsp;</span><span style="font-family: 'Arial', 'sans-serif'">Integer.MAX_VALUE</span></p>
<p style="text-indent: -21pt; margin-left: 32pt" class="MsoListParagraph"><span style="font-family: Wingdings">l&nbsp;</span><span style="font-family: 'Arial', 'sans-serif'">Ingeger.MIN_VALUE</span></p>
<p style="text-indent: -21pt; margin-left: 32pt" class="MsoListParagraph"><span style="font-family: Wingdings">l&nbsp;</span><span style="font-family: 'Arial', 'sans-serif'">Double.POSITIVE_INFINITY (</span><span style="font-family: '微软雅黑', 'sans-serif'">正无穷大</span><span style="font-family: 'Arial', 'sans-serif'">)</span></p>
<p style="text-indent: -21pt; margin-left: 32pt" class="MsoListParagraph"><span style="font-family: Wingdings">l&nbsp;</span><span style="font-family: 'Arial', 'sans-serif'">Double.NEGATIVE_INFINITY (</span><span style="font-family: '微软雅黑', 'sans-serif'">负无穷大</span><span style="font-family: 'Arial', 'sans-serif'">)</span></p>
<p style="text-indent: -21pt; margin-left: 32pt" class="MsoListParagraph"><span style="font-family: Wingdings">l&nbsp;</span><span style="font-family: 'Arial', 'sans-serif'">Double.NaN (Not a number)</span></p>
<p><span style="font-family: 'Arial', 'sans-serif'">PS: </span><span style="font-family: '微软雅黑', 'sans-serif'">判断一个特定值是否等于</span><span style="font-family: 'Arial', 'sans-serif'">Double.NaN: </span></p>
<p style="text-indent: 27.5pt; margin-left: 22pt" class="MsoNormal"><span style="font-family: 'Arial', 'sans-serif'">if (x == Double.NaN)&nbsp;&nbsp;&nbsp; //is never true</span></p>
<p style="margin-left: 22pt" class="MsoNormal"><span style="font-family: 'Arial', 'sans-serif'">Should use:</span></p>
<p style="margin-left: 22pt" class="MsoNormal"><span style="font-family: 'Arial', 'sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;if (Double.isNaN(x)) // check whether x is &#8220;Not a number&#8221;</span></p>
<p><span style="font-family: 'Arial', 'sans-serif'">char </span><span style="font-family: '微软雅黑', 'sans-serif'">类型用于表示</span><span style="font-family: 'Arial', 'sans-serif'; color: red">Unicode</span><span style="font-family: '微软雅黑', 'sans-serif'">编码的字符单元。</span><span style="font-family: 'Arial', 'sans-serif'">Unicode</span><span style="font-family: '微软雅黑', 'sans-serif'">可表示为</span><span style="font-family: 'Arial', 'sans-serif'">16</span><span style="font-family: '微软雅黑', 'sans-serif'">进制值，从</span><span style="font-family: 'Arial', 'sans-serif'">"u0000</span><span style="font-family: '微软雅黑', 'sans-serif'">到</span><span style="font-family: 'Arial', 'sans-serif'">"uffff</span><span style="font-family: '微软雅黑', 'sans-serif'">。</span></p>
<p><span style="font-family: '微软雅黑', 'sans-serif'">关于</span><span style="font-family: 'Arial', 'sans-serif'">Unicode: </span><span style="font-family: '微软雅黑', 'sans-serif'">在</span><span style="font-family: 'Arial', 'sans-serif'">Unicode</span><span style="font-family: '微软雅黑', 'sans-serif'">出现前，已经有了很多的字符编码标准</span><span style="font-family: 'Arial', 'sans-serif'">(</span><span style="font-family: '微软雅黑', 'sans-serif'">如美国的</span><span style="font-family: 'Arial', 'sans-serif'">ASCII, </span><span style="font-family: '微软雅黑', 'sans-serif'">西欧的</span><span style="font-family: 'Arial', 'sans-serif'">ISO 8859-1, </span><span style="font-family: '微软雅黑', 'sans-serif'">俄罗斯的</span><span style="font-family: 'Arial', 'sans-serif'">KOI-8, </span><span style="font-family: '微软雅黑', 'sans-serif'">中国的</span><span style="font-family: 'Arial', 'sans-serif'">GB118030</span><span style="font-family: '微软雅黑', 'sans-serif'">和</span><span style="font-family: 'Arial', 'sans-serif'">BIG-5</span><span style="font-family: '微软雅黑', 'sans-serif'">，</span><span style="font-family: 'Arial', 'sans-serif'">etc)</span><span style="font-family: '微软雅黑', 'sans-serif'">，这样造成了两个问题：</span><span style="font-family: 'Arial', 'sans-serif'">a). </span><span style="font-family: '微软雅黑', 'sans-serif'">对于给定的代码值，不同的编码方案下可能对应不同的字母</span><span style="font-family: 'Arial', 'sans-serif'">; b). </span><span style="font-family: '微软雅黑', 'sans-serif'">采用大字符集的语言其编码长度可能不同，</span><span style="font-family: 'Arial', 'sans-serif'">e.g., </span><span style="font-family: '微软雅黑', 'sans-serif'">有些常用的字符采用单字节编码，而另一些字符则需要两个或更多字节。</span><span style="font-family: '微软雅黑', 'sans-serif'">设计</span><span style="font-family: 'Arial', 'sans-serif'">Unicode</span><span style="font-family: '微软雅黑', 'sans-serif'">就是为了解决这些问题。但遗憾的是，经过一段时间，</span><span style="font-family: 'Arial', 'sans-serif'">Unicode</span><span style="font-family: '微软雅黑', 'sans-serif'">字符超过了</span><span style="font-family: 'Arial', 'sans-serif'">65536</span><span style="font-family: '微软雅黑', 'sans-serif'">个，现在，连</span><span style="font-family: 'Arial', 'sans-serif'">16</span><span style="font-family: '微软雅黑', 'sans-serif'">位的</span><span style="font-family: 'Arial', 'sans-serif'">char</span><span style="font-family: '微软雅黑', 'sans-serif'">类型也已经不能满足所有</span><span style="font-family: 'Arial', 'sans-serif'">Unicode</span><span style="font-family: '微软雅黑', 'sans-serif'">字符的需求了。<span style="color: red">强烈建议不要在程序中用</span></span><span style="font-family: 'Arial', 'sans-serif'; color: red">char</span><span style="font-family: '微软雅黑', 'sans-serif'; color: red">类型。</span></p>
<p><span style="font-family: '微软雅黑', 'sans-serif'">当将一个字符串和一个非字符串的值进行拼接时，后者被转换成字符串。</span><span style="font-family: 'Arial', 'sans-serif'">E.g:</span></p>
<p><span style="font-family: 'Arial', 'sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int age = 24;</span></p>
<p><span style="font-family: 'Arial', 'sans-serif'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String s = &#8220;abce&#8221; + age;&nbsp;//age</span><span style="font-family: '微软雅黑', 'sans-serif'">被转换成字符串，结果为&#8220;</span><span style="font-family: 'Arial', 'sans-serif'">abcd24</span><span style="font-family: '微软雅黑', 'sans-serif'">&#8221;。<br />
<br />
</span></p>
<font face="微软雅黑">采用字符串连接的方式时，每次连接字符串，都会构建一个新的String对象，既耗时又浪费空间。可以使用StringBuilder代替:<br />
</font><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StringBuilder builder&nbsp;= new StringBuilder();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;builder.append(ch/str);<br />
其前身是StringBuffer。StringBuffer效率稍低，但支持多线程。StringBuilder不支持多线程，从而效率也较高。
<img src ="http://www.blogjava.net/li40204/aggbug/333657.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/li40204/" target="_blank">li40204</a> 2010-10-02 17:22 <a href="http://www.blogjava.net/li40204/archive/2010/10/02/333657.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Core Java学习笔记(一)</title><link>http://www.blogjava.net/li40204/archive/2010/09/28/333093.html</link><dc:creator>li40204</dc:creator><author>li40204</author><pubDate>Mon, 27 Sep 2010 16:40:00 GMT</pubDate><guid>http://www.blogjava.net/li40204/archive/2010/09/28/333093.html</guid><wfw:comment>http://www.blogjava.net/li40204/comments/333093.html</wfw:comment><comments>http://www.blogjava.net/li40204/archive/2010/09/28/333093.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/li40204/comments/commentRss/333093.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/li40204/services/trackbacks/333093.html</trackback:ping><description><![CDATA[<p>Command: <span style="color: #0000ff"><em>jar xvf file.zip</em></span> 用于解压文件。Java库源文件在JDK中保存为src.zip，可用该命令解压。<br />
&nbsp;</p>
<p>Javac将.java文件编译成.class文件，发送到jvm, jvm执行编译器存放在.class文件中的字节码。 <br />
</p>
<p>运行applet：1). 直接用浏览器打开html，该html里包含applet。2). appletviewer ***.html。applet嵌入到html的写法如下:</p>
<p>&lt;html&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;head&gt;&lt;/head&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;body&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ......<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;applet code = "WelcomeApplet.class" width="400" height="200"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name = "greeting" value="Welcome to core java!" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/applet&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/body&gt;<br />
&lt;html&gt;<br />
<br />
</p>
 <img src ="http://www.blogjava.net/li40204/aggbug/333093.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/li40204/" target="_blank">li40204</a> 2010-09-28 00:40 <a href="http://www.blogjava.net/li40204/archive/2010/09/28/333093.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>要开始学习了</title><link>http://www.blogjava.net/li40204/archive/2010/09/27/333091.html</link><dc:creator>li40204</dc:creator><author>li40204</author><pubDate>Mon, 27 Sep 2010 15:25:00 GMT</pubDate><guid>http://www.blogjava.net/li40204/archive/2010/09/27/333091.html</guid><wfw:comment>http://www.blogjava.net/li40204/comments/333091.html</wfw:comment><comments>http://www.blogjava.net/li40204/archive/2010/09/27/333091.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/li40204/comments/commentRss/333091.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/li40204/services/trackbacks/333091.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;只有注册用户登录后才能阅读该文。<a href='http://www.blogjava.net/li40204/archive/2010/09/27/333091.html'>阅读全文</a><img src ="http://www.blogjava.net/li40204/aggbug/333091.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/li40204/" target="_blank">li40204</a> 2010-09-27 23:25 <a href="http://www.blogjava.net/li40204/archive/2010/09/27/333091.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java里如何判断一个String是空字符串或空格组成的字符串</title><link>http://www.blogjava.net/li40204/archive/2009/07/28/288813.html</link><dc:creator>li40204</dc:creator><author>li40204</author><pubDate>Tue, 28 Jul 2009 14:34:00 GMT</pubDate><guid>http://www.blogjava.net/li40204/archive/2009/07/28/288813.html</guid><wfw:comment>http://www.blogjava.net/li40204/comments/288813.html</wfw:comment><comments>http://www.blogjava.net/li40204/archive/2009/07/28/288813.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/li40204/comments/commentRss/288813.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/li40204/services/trackbacks/288813.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 要判读String是否为空字符串，比较简单，只要判断该String的length是否为0就可以，或者直接用方法isEmpty()来判断。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 但很多时候我们也会把由一些不可见的字符组成的String也当成是空字符串(e.g, space, tab, etc)，这时候就不能单用length或isEmpty()来判断了，因为technically上来说，这个String是非空的。这时候可以用String的方法trim()，去掉前导空白和后导空白，再判断是否为空。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例如:<br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;TestEmpty<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img id="Codehighlighter1_23_326_Open_Image" onclick="this.style.display='none'; Codehighlighter1_23_326_Open_Text.style.display='none'; Codehighlighter1_23_326_Closed_Image.style.display='inline'; Codehighlighter1_23_326_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_23_326_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_23_326_Closed_Text.style.display='none'; Codehighlighter1_23_326_Open_Image.style.display='inline'; Codehighlighter1_23_326_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_23_326_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_23_326_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img id="Codehighlighter1_67_324_Open_Image" onclick="this.style.display='none'; Codehighlighter1_67_324_Open_Text.style.display='none'; Codehighlighter1_67_324_Closed_Image.style.display='inline'; Codehighlighter1_67_324_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_67_324_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_67_324_Closed_Text.style.display='none'; Codehighlighter1_67_324_Open_Image.style.display='inline'; Codehighlighter1_67_324_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;main(String[]&nbsp;args)</span><span id="Codehighlighter1_67_324_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_67_324_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;a&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;if&nbsp;(a.isEmpty())</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #008000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(a.trim().isEmpty())<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img id="Codehighlighter1_176_233_Open_Image" onclick="this.style.display='none'; Codehighlighter1_176_233_Open_Text.style.display='none'; Codehighlighter1_176_233_Closed_Image.style.display='inline'; Codehighlighter1_176_233_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_176_233_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_176_233_Closed_Text.style.display='none'; Codehighlighter1_176_233_Open_Image.style.display='inline'; Codehighlighter1_176_233_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_176_233_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_176_233_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">It&nbsp;is&nbsp;empty</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img id="Codehighlighter1_257_318_Open_Image" onclick="this.style.display='none'; Codehighlighter1_257_318_Open_Text.style.display='none'; Codehighlighter1_257_318_Closed_Image.style.display='inline'; Codehighlighter1_257_318_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_257_318_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_257_318_Closed_Text.style.display='none'; Codehighlighter1_257_318_Open_Image.style.display='inline'; Codehighlighter1_257_318_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_257_318_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_257_318_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">It&nbsp;is&nbsp;not&nbsp;empty</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div>
<br />
结果当然是：It is empty<br />
<br />
<br />
<br />
PS：Java Doc<br />
<br />
public String trim()<br />
<br />
Returns a copy of the string, with leading and trailing whitespace omitted. 
 <img src ="http://www.blogjava.net/li40204/aggbug/288813.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/li40204/" target="_blank">li40204</a> 2009-07-28 22:34 <a href="http://www.blogjava.net/li40204/archive/2009/07/28/288813.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>