﻿<?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-黑夜里的狼-随笔分类-Java</title><link>http://www.blogjava.net/hellxoul/category/50247.html</link><description /><language>zh-cn</language><lastBuildDate>Sat, 05 Jul 2014 17:15:20 GMT</lastBuildDate><pubDate>Sat, 05 Jul 2014 17:15:20 GMT</pubDate><ttl>60</ttl><item><title>Guava学习笔记：Ordering犀利的比较器</title><link>http://www.blogjava.net/hellxoul/archive/2014/07/03/415399.html</link><dc:creator>hellxoul</dc:creator><author>hellxoul</author><pubDate>Thu, 03 Jul 2014 02:48:00 GMT</pubDate><guid>http://www.blogjava.net/hellxoul/archive/2014/07/03/415399.html</guid><wfw:comment>http://www.blogjava.net/hellxoul/comments/415399.html</wfw:comment><comments>http://www.blogjava.net/hellxoul/archive/2014/07/03/415399.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hellxoul/comments/commentRss/415399.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hellxoul/services/trackbacks/415399.html</trackback:ping><description><![CDATA[转自：<span style="font-size: 14px;">http://www.cnblogs.com/peida/p/Guava_Ordering.html<br /></span><p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 24px; background-color: #ffffff;">Ordering是Guava类库提供的一个犀利强大的比较器工具，Guava的Ordering和JDK Comparator相比功能更强。它非常容易扩展，可以轻松构造复杂的comparator，然后用在容器的比较、排序等操作中。</p><p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 24px; background-color: #ffffff;">　　本质上来说，Ordering 实例无非就是一个特殊的Comparator 实例。Ordering只是需要依赖于一个比较器（例如，Collections.max）的方法，并使其可作为实例方法。另外，Ordering提供了链式方法调用和加强现有的比较器。</p><p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 24px; background-color: #ffffff;">　　下面我们看看Ordering中的一些具体方法和简单的使用实例。</p><p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 24px; background-color: #ffffff;">　　<strong style="margin: 0px; padding: 0px;">常见的静态方法：</strong></p><p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 24px; background-color: #ffffff;">　　<strong style="margin: 0px; padding: 0px;">natural()：</strong>使用Comparable类型的自然顺序， 例如：整数从小到大，字符串是按字典顺序;<br style="margin: 0px; padding: 0px;" />　　<strong style="margin: 0px; padding: 0px;">usingToString() ：</strong>使用toString()返回的字符串按字典顺序进行排序；<br style="margin: 0px; padding: 0px;" />　　<strong style="margin: 0px; padding: 0px;">arbitrary() ：</strong>返回一个所有对象的任意顺序， 即compare(a, b) == 0 就是 a == b (identity equality)。 本身的排序是没有任何含义， 但是在VM的生命周期是一个常量。</p><p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 24px; background-color: #ffffff;">　　简单实例：</p><div class="cnblogs_code" style="margin: 5px 0px; font-size: 12px !important;"><div class="cnblogs_code_toolbar" style="margin: 5px 0px 0px;"><span class="cnblogs_code_copy" style="margin: 0px; padding: 0px 5px 0px 0px; line-height: 1.5 !important;"><a title="复制代码" style="margin: 0px; padding: 0px; border: none !important;"><img src="http://common.cnblogs.com/images/copycode.gif" alt="复制代码" style="margin: 0px; padding: 0px; border: none !important;" /></a></span></div><pre style="margin-top: 0px; margin-bottom: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: 'Courier New' !important;"><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">import</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> java.util.List;
</span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">import</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> org.junit.Test;
</span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">import</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> com.google.common.collect.Lists;
</span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">import</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> com.google.common.collect.Ordering;

</span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">public</span> <span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">class</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> OrderingTest {

    @Test
    </span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">public</span> <span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">void</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> testStaticOrdering(){
        List</span>&lt;String&gt; list =<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> Lists.newArrayList();
        list.add(</span>"peida"<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">);
        list.add(</span>"jerry"<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">);
        list.add(</span>"harry"<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">);
        list.add(</span>"eva"<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">);
        list.add(</span>"jhon"<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">);
        list.add(</span>"neron"<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">);
        
        System.out.println(</span>"list:"+<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> list);<br style="margin: 0px; padding: 0px;" />
        Ordering</span>&lt;String&gt; naturalOrdering =<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> Ordering.natural();        
        Ordering</span>&lt;Object&gt; usingToStringOrdering =<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> Ordering.usingToString();
        Ordering</span>&lt;Object&gt; arbitraryOrdering =<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> Ordering.arbitrary();
        
        System.out.println(</span>"naturalOrdering:"+<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> naturalOrdering.sortedCopy(list));     
        System.out.println(</span>"usingToStringOrdering:"+<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> usingToStringOrdering.sortedCopy(list));        
        System.out.println(</span>"arbitraryOrdering:"+<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> arbitraryOrdering.sortedCopy(list));
    }
}</span></pre><div class="cnblogs_code_toolbar" style="margin: 5px 0px 0px;"><span class="cnblogs_code_copy" style="margin: 0px; padding: 0px 5px 0px 0px; line-height: 1.5 !important;"><a title="复制代码" style="margin: 0px; padding: 0px; border: none !important;"><img src="http://common.cnblogs.com/images/copycode.gif" alt="复制代码" style="margin: 0px; padding: 0px; border: none !important;" /></a></span></div></div><p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 24px; background-color: #ffffff;">　　输出：</p><div class="cnblogs_code" style="margin: 5px 0px; font-size: 12px !important;"><pre style="margin-top: 0px; margin-bottom: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: 'Courier New' !important;"><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">list:[peida, jerry, harry, eva, jhon, neron]
naturalOrdering:[eva, harry, jerry, jhon, neron, peida]
usingToStringOrdering:[eva, harry, jerry, jhon, neron, peida]
arbitraryOrdering:[neron, harry, eva, jerry, peida, jhon]</span></pre></div><p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 24px; background-color: #ffffff;">　　操作方法：</p><p style="margin-top: 10px; margin-bottom: 10px; padding: 0px; color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 24px; background-color: #ffffff;">　　reverse(): 返回与当前Ordering相反的排序:<br style="margin: 0px; padding: 0px;" />　　nullsFirst(): 返回一个将null放在non-null元素之前的Ordering，其他的和原始的Ordering一样；<br style="margin: 0px; padding: 0px;" />　　nullsLast()：返回一个将null放在non-null元素之后的Ordering，其他的和原始的Ordering一样；<br style="margin: 0px; padding: 0px;" />　　compound(Comparator)：返回一个使用Comparator的Ordering，Comparator作为第二排序元素，例如对bug列表进行排序，先根据bug的级别，再根据优先级进行排序；<br style="margin: 0px; padding: 0px;" />　　lexicographical()：返回一个按照字典元素迭代的Ordering；<br style="margin: 0px; padding: 0px;" />　　onResultOf(Function)：将function应用在各个元素上之后, 在使用原始ordering进行排序；<br style="margin: 0px; padding: 0px;" />　　greatestOf(Iterable iterable, int k)：返回指定的第k个可迭代的最大的元素，按照这个从最大到最小的顺序。是不稳定的。<br style="margin: 0px; padding: 0px;" />　　leastOf(Iterable&lt;E&gt; iterable,int k)：返回指定的第k个可迭代的最小的元素，按照这个从最小到最大的顺序。是不稳定的。<br style="margin: 0px; padding: 0px;" />　　isOrdered(Iterable)：是否有序，Iterable不能少于2个元素。<br style="margin: 0px; padding: 0px;" />　　isStrictlyOrdered(Iterable)：是否严格有序。请注意，Iterable不能少于两个元素。<br style="margin: 0px; padding: 0px;" />　　sortedCopy(Iterable)：返回指定的元素作为一个列表的排序副本。</p><div class="cnblogs_code" style="margin: 5px 0px; font-size: 12px !important;"><div class="cnblogs_code_toolbar" style="margin: 5px 0px 0px;"><span class="cnblogs_code_copy" style="margin: 0px; padding: 0px 5px 0px 0px; line-height: 1.5 !important;"><a title="复制代码" style="margin: 0px; padding: 0px; border: none !important;"><img src="http://common.cnblogs.com/images/copycode.gif" alt="复制代码" style="margin: 0px; padding: 0px; border: none !important;" /></a></span></div><pre style="margin-top: 0px; margin-bottom: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: 'Courier New' !important;"><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">package</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> com.peidasoft.guava.base;

</span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">import</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> java.util.List;

</span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">import</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> org.junit.Test;

</span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">import</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> com.google.common.collect.ImmutableList;
</span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">import</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> com.google.common.collect.Lists;
</span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">import</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> com.google.common.collect.Ordering;

</span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">public</span> <span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">class</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> OrderingTest {
    
    @Test
    </span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">public</span> <span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">void</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> testOrdering(){
        List</span>&lt;String&gt; list =<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> Lists.newArrayList();
        list.add(</span>"peida"<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">);
        list.add(</span>"jerry"<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">);
        list.add(</span>"harry"<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">);
        list.add(</span>"eva"<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">);
        list.add(</span>"jhon"<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">);
        list.add(</span>"neron"<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">);
        
        System.out.println(</span>"list:"+<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> list);
        
        Ordering</span>&lt;String&gt; naturalOrdering =<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> Ordering.natural();
        System.out.println(</span>"naturalOrdering:"+<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> naturalOrdering.sortedCopy(list));    

        List</span>&lt;Integer&gt; listReduce=<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> Lists.newArrayList();
        </span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">for</span>(<span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">int</span> i=9;i&gt;0;i--<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">){
            listReduce.add(i);
        }
        
        List</span>&lt;Integer&gt; listtest=<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> Lists.newArrayList();
        listtest.add(</span>1<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">);
        listtest.add(</span>1<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">);
        listtest.add(</span>1<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">);
        listtest.add(</span>2<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">);
        
        
        Ordering</span>&lt;Integer&gt; naturalIntReduceOrdering =<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> Ordering.natural();
        
        System.out.println(</span>"listtest:"+<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> listtest);
        System.out.println(naturalIntReduceOrdering.isOrdered(listtest));
        System.out.println(naturalIntReduceOrdering.isStrictlyOrdered(listtest));
        
        
        System.out.println(</span>"naturalIntReduceOrdering:"+<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> naturalIntReduceOrdering.sortedCopy(listReduce));
        System.out.println(</span>"listReduce:"+<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> listReduce);
        
        
        System.out.println(naturalIntReduceOrdering.isOrdered(naturalIntReduceOrdering.sortedCopy(listReduce)));
        System.out.println(naturalIntReduceOrdering.isStrictlyOrdered(naturalIntReduceOrdering.sortedCopy(listReduce)));
        

        Ordering</span>&lt;String&gt; natural =<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> Ordering.natural();
              
        List</span>&lt;String&gt; abc = ImmutableList.of("a", "b", "c"<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">);
        System.out.println(natural.isOrdered(abc));
        System.out.println(natural.isStrictlyOrdered(abc));
        
        System.out.println(</span>"isOrdered reverse :"+<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> natural.reverse().isOrdered(abc));
 
        List</span>&lt;String&gt; cba = ImmutableList.of("c", "b", "a"<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">);
        System.out.println(natural.isOrdered(cba));
        System.out.println(natural.isStrictlyOrdered(cba));
        System.out.println(cba </span>=<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> natural.sortedCopy(cba));
        
        System.out.println(</span>"max:"+<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">natural.max(cba));
        System.out.println(</span>"min:"+<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">natural.min(cba));
        
        System.out.println(</span>"leastOf:"+natural.leastOf(cba, 2<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">));
        System.out.println(</span>"naturalOrdering:"+<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> naturalOrdering.sortedCopy(list));    
        System.out.println(</span>"leastOf list:"+naturalOrdering.leastOf(list, 3<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">));
        System.out.println(</span>"greatestOf:"+naturalOrdering.greatestOf(list, 3<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">));
        System.out.println(</span>"reverse list :"+<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> naturalOrdering.reverse().sortedCopy(list));    
        System.out.println(</span>"isOrdered list :"+<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> naturalOrdering.isOrdered(list));
        System.out.println(</span>"isOrdered list :"+<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> naturalOrdering.reverse().isOrdered(list));
        list.add(</span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">null</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">);
        System.out.println(</span>" add null list:"+<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">list);
        System.out.println(</span>"nullsFirst list :"+<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> naturalOrdering.nullsFirst().sortedCopy(list));
        System.out.println(</span>"nullsLast list :"+<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;"> naturalOrdering.nullsLast().sortedCopy(list));
    }

}

</span><span style="margin: 0px; padding: 0px; color: #008000; line-height: 1.5 !important;">//</span><span style="margin: 0px; padding: 0px; color: #008000; line-height: 1.5 !important;">============输出==============</span>
<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">list:[peida, jerry, harry, eva, jhon, neron]
naturalOrdering:[eva, harry, jerry, jhon, neron, peida]
listtest:[</span>1, 1, 1, 2<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">]
</span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">true</span>
<span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">false</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">
naturalIntReduceOrdering:[</span>1, 2, 3, 4, 5, 6, 7, 8, 9<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">]
listReduce:[</span>9, 8, 7, 6, 5, 4, 3, 2, 1<span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">]
</span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">true</span>
<span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">true</span>
<span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">true</span>
<span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">true</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">
isOrdered reverse :</span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">false</span>
<span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">false</span>
<span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">false</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">
[a, b, c]
max:c
min:a
leastOf:[a, b]
naturalOrdering:[eva, harry, jerry, jhon, neron, peida]
leastOf list:[eva, harry, jerry]
greatestOf:[peida, neron, jhon]
reverse list :[peida, neron, jhon, jerry, harry, eva]
isOrdered list :</span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">false</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">
isOrdered list :</span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">false</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">
 add </span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">null</span> list:[peida, jerry, harry, eva, jhon, neron, <span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">null</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">]
nullsFirst list :[</span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">null</span><span style="margin: 0px; padding: 0px; line-height: 1.5 !important;">, eva, harry, jerry, jhon, neron, peida]
nullsLast list :[eva, harry, jerry, jhon, neron, peida, </span><span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">null</span>]</pre><div class="cnblogs_code_toolbar" style="margin: 5px 0px 0px;"><span class="cnblogs_code_copy" style="margin: 0px; padding: 0px 5px 0px 0px; line-height: 1.5 !important;"><a title="复制代码" style="margin: 0px; padding: 0px; border: none !important;"><img src="http://common.cnblogs.com/images/copycode.gif" alt="复制代码" style="margin: 0px; padding: 0px; border: none !important;" /></a></span></div></div><span style="font-size: 14px;"><br /></span><img src ="http://www.blogjava.net/hellxoul/aggbug/415399.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hellxoul/" target="_blank">hellxoul</a> 2014-07-03 10:48 <a href="http://www.blogjava.net/hellxoul/archive/2014/07/03/415399.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>