1. Splitter<功能:把字符串分割为集合>
public class SplitterTest {
@Test
public void test_Splitter_OnSplitter() {
List<String> list = Splitter.on("|").splitToList("Hello|Java");
assertThat(list, notNullValue());
assertThat(list.size(), equalTo(2));
assertThat(list.get(0), equalTo("Hello"));
assertThat(list.get(1), equalTo("Java"));
}
@Test
public void test_Splitter_Omit() {
List<String> list = Splitter.on("|").splitToList("Hello|Java|||");
assertThat(list, notNullValue());
assertThat(list.size(), equalTo(5));
list = Splitter.on("|").omitEmptyStrings().splitToList("Hello|Java|||");
assertThat(list, notNullValue());
assertThat(list.size(), equalTo(2));
}
@Test
public void test_Splitter_Trim_Omit() {
List<String> list = Splitter.on("|").splitToList("Hello | Java |||");
assertThat(list, notNullValue());
assertThat(list.size(), equalTo(5));
assertThat(list.get(0), equalTo("Hello "));
assertThat(list.get(1), equalTo(" Java "));
list = Splitter.on("|").trimResults()
.omitEmptyStrings()
.splitToList("Hello|Java|||");
assertThat(list, notNullValue());
assertThat(list.size(), equalTo(2));
assertThat(list.get(0), equalTo("Hello"));
assertThat(list.get(1), equalTo("Java"));
}
@Test
public void test_Splitter_FixedLength() {
List<String> list = Splitter.fixedLength(4).splitToList("aaaabbbbcccc");
assertThat(list, notNullValue());
assertThat(list.size(), equalTo(3));
assertThat(list.get(0), equalTo("aaaa"));
assertThat(list.get(2), equalTo("cccc"));
}
@Test
public void test_Splitter_Limit() {
List<String> list = Splitter.on("#").limit(3).splitToList("Java#C++#C#Shell");
assertThat(list, notNullValue());
assertThat(list.size(), equalTo(3));
assertThat(list.get(0), equalTo("Java"));
assertThat(list.get(2), equalTo("C#Shell"));
}
@Test
public void test_Splitter_OnPattern() {
List<String> list = Splitter.onPattern("\\#").limit(3).splitToList("Java#C++#C#Shell");
assertThat(list, notNullValue());
assertThat(list.size(), equalTo(3));
assertThat(list.get(0), equalTo("Java"));
assertThat(list.get(2), equalTo("C#Shell"));
}
@Test
public void test_Splitter_ToMap() {
Map<String, String> map = Splitter.on("#").withKeyValueSeparator("=").split("Java=1#C++=2#C=3#Shell=4");
assertThat(map, notNullValue());
assertThat(map.size(), equalTo(4));
assertThat(map.get("Java"), equalTo("1"));
assertThat(map.get("C"), equalTo("3"));
}
}