- 之前我們一直用的String自帶的split()方法進行分隔
如下:
String a="1, 2";
String[] split = a.split(",");
for(String s:split){
System.out.println(s);
}
得到結果
這是使用String類的方法分割方法。很明顯不足便是以逗號分隔後如果有空格的話,那麼還得繼續做其他一系列處理。而且分隔後以數組接受,如果分隔出來的數據過多,對數據進行處理還不能使用集合流來處理,除非再轉爲集合。一切都顯得那麼的繁重。
- guava出了很多工具類,其中就有對字符串分隔處理的方法。下面就讓我們來看看吧
- 其中第一步,必然得先導包
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>28.2-jre</version>
</dependency>
2.就可以調用其中得Splitter工具類了
String aa = " 11,22, 33";
List<String> strings = Splitter.on(",").trimResults().omitEmptyStrings().
splitToList(aa);
這句代碼意思呢,首先以逗號分隔,判斷是否有空格字符,如果有空格字符,去除空格字符,最後將分隔後的數值都裝進list集合了,簡單吧,單單隻調用了幾個方法就將之前自己必須要手寫許多繁重代碼給取締了。
既然是一個集合,那麼對他進行操作也比較簡單了,比如說將這些String類型轉化爲Integer型
String aa = " 11,22, 33";
List<Integer> strings = Splitter.on(",").trimResults().omitEmptyStrings().
splitToList(aa)
.stream().map(Integer::parseInt).collect(Collectors.toList());
System.out.printf("s"+strings);
直接使用java8的流stream().map()處理。簡單又方便。