標籤:
java內建的會忽略空內容,guava Splitter不會忽略.或者可以自由選擇的忽略.
/** * {@code Splitter}和{@code Joiner} 這兩個對於map的相反的操作,在web架構例如spring mvc中用到過. * * 對於get url後面的參數和pos form中前端參數的串連和後端的拆分都有用到.每個架構的處理思維是一樣的. * * @author doctor * * @since 2015年3月14日 下午9:00:17 */.............. @Test public void test_string_split() { String[] split = "a,b,,".split(","); // java內建的會忽略空內容 assertThat(split, equalTo(Lists.newArrayList("a", "b").toArray())); } @Test public void test_guava_Splitter() { List<String> splitToList = Splitter.on(",").splitToList("a,b,,");//guava不會忽略 assertThat(splitToList, equalTo(Lists.newArrayList("a", "b", "", ""))); } @Test public void test_guava_Splitter_omitEmptyStrings() { // 或者可以自由選擇的忽略 ,像java一樣,忽略Null 字元串 List<String> splitToList = Splitter.on(",").omitEmptyStrings().trimResults().splitToList("a,b,,"); assertThat(splitToList, equalTo(Lists.newArrayList("a", "b"))); }
guava Splitter 與java 內建的string的split 方法有什麼區別.