<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    上善若水
    In general the OO style is to use a lot of little objects with a lot of little methods that give us a lot of plug points for overriding and variation. To do is to be -Nietzsche, To bei is to do -Kant, Do be do be do -Sinatra
    posts - 146,comments - 147,trackbacks - 0
    在編程過程中偶爾會(huì)遇到需要將List或數(shù)組以某個(gè)字符間隔的形式將其拼接成一個(gè)字符串,比如在發(fā)送郵件時(shí),to列表是以分號(hào)分割的字符串,然而在程序中我們可能會(huì)一List<String>或String[]的形式存在,此時(shí)就需要做List或數(shù)組到String的轉(zhuǎn)換。
    在C#中,String類提供了一個(gè)叫Join的方法,因而我們使用一句代碼就可以完成這樣的工作:
    string result = string.Join("", toList.ToArray());
    但是在Java中貌似沒有提供類似的方法(至少我還沒有找到),既然沒有提供,我們就可以自己來寫一個(gè):
    public class StringUtils {
        
    /**
         * StringUitls類中的方法都是靜態(tài)的,
         * 阻止其創(chuàng)建實(shí)例,以引起一些誤解。
         * 另一種做法是將其變?yōu)閍bstract類,
         * 但是這樣也會(huì)引起一些誤解,
         * 因?yàn)閍bstract類的意思就是可以繼承的,
         * 然而該類卻不應(yīng)該由其他類來繼承。
         * 因而abstract類個(gè)人感覺不是一種好的做法。
         
    */
        
    private StringUtils() { }
        
        
    /**
         * 將array中的內(nèi)容以delimiter為間隔拼接字符串
         * 
         * 
    @param array
         * 
    @param delimiter
         * 
    @return
         
    */
        
    public static String join(Object[] array, String delimiter) {
            
    if(array == null) {
                
    throw new IllegalArgumentException();
            }
            
            
    if(array.length == 0) {
                
    return "";
            }
            
            StringBuilder builder 
    = new StringBuilder();
            
    for(Object item : array) {
                builder.append(item.toString() 
    + delimiter);
            }
            builder.delete(builder.length() 
    - delimiter.length(), builder.length());
            
    return builder.toString();
        }
        
        
    /**
         * 將list中的內(nèi)容以delimiter為間隔拼接字符串
         * 
         * 
    @param list
         * 
    @param delimiter
         * 
    @return
         
    */
        @SuppressWarnings(
    "unchecked")
        
    public static String join(List list, String delimiter) {
            
    if(list == null) {
                
    throw new IllegalArgumentException();
            }
            
            
    return join(list.toArray(), delimiter);
        }
    }

    測(cè)試代碼如下:
     1     @Test
     2     public void testListToString() {
     3         List<String> list = new ArrayList<String>();
     4         list.add("Item1");
     5         list.add("Item2");
     6         list.add("Item3");
     7         
     8         String expected = "[Item1, Item2, Item3]";
     9         
    10         assertEquals(expected, list.toString());
    11     }
    12     
    13     @Test
    14     public void testListToString2() {
    15         List<String> list = new ArrayList<String>();
    16         list.add("Item1");
    17         list.add("Item2");
    18         list.add("Item3");
    19         
    20         String expected = "Item1;Item2;Item3";
    21         
    22         assertEquals(expected, StringUtils.join(list, ";"));
    23     }

    posted on 2011-06-20 13:27 DLevin 閱讀(6998) 評(píng)論(0)  編輯  收藏 所屬分類: Core Java
    主站蜘蛛池模板: 色欲aⅴ亚洲情无码AV蜜桃| 亚洲AV乱码久久精品蜜桃 | 成人亚洲国产精品久久| 亚洲狠狠成人综合网| 精品丝袜国产自在线拍亚洲| 亚洲va成无码人在线观看| 精品亚洲AV无码一区二区| 日韩亚洲不卡在线视频中文字幕在线观看| 亚洲毛片基地日韩毛片基地| 亚洲导航深夜福利| 亚洲三级高清免费| 亚洲成a人无码亚洲成www牛牛| 亚洲精品国产精品| 黄色毛片免费在线观看| 成人在线免费视频| 国产在线观看无码免费视频| 久章草在线精品视频免费观看 | 亚洲综合久久精品无码色欲| 亚洲欧洲专线一区| 免费播放美女一级毛片| 一级一片免费视频播放| 久久国产精品萌白酱免费| 亚洲日本在线免费观看| 国内一级一级毛片a免费| 免费人成网站在线高清| 亚洲精品成人片在线观看精品字幕 | 98精品全国免费观看视频| 香蕉97超级碰碰碰免费公| 高清国语自产拍免费视频国产 | 免费不卡在线观看AV| 最近高清中文字幕无吗免费看| 成人一a毛片免费视频| 亚洲国产精品自产在线播放| 亚洲色欲色欲www在线丝| 久久久久亚洲精品天堂| 亚洲精品国产高清在线观看| 久久高潮一级毛片免费| 亚洲免费电影网站| 国产91在线免费| 亚洲成人午夜在线| 亚洲youwu永久无码精品|