- 之前我们一直用的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()处理。简单又方便。