概述
本文主要介绍Guava
1中的字符串处理,尤其是Joiner
2和Splitter
3的使用
Joiner
定义
使用特定的分隔符(seperator
)把一个字符串序列拼接起来,尤其处理字符串序列中含有null
的时候非常有用
Note:
- Joiner的实例总是不可变(
immutable
)的,其配置方法总会返回一个新的Joiner实例 - Joiner的配置方法有
skipNulls
和useForNull
- skipNulls会过滤掉字符串序列中的null,当不使用该配置方法时,一定要保证字符串序列中不要含有null,否则会报异常
- useForNull会使用指定的字符串替换字符串序列中的null
- MapJoiner是针对Map的拼接,通过Joiner实例创建,在Joiner实例上可以使用useForNull方法,但不能使用skipNulls方法
使用
把List转换为String
Joiner.on(String seperator)
指定List中每个元素的特定分隔符,Joiner.join(Iterable<?> parts)
来拼接List中的数据
|
|
把Map转换为String
Joiner.on(String seperator)
指定Map中每个元素的特定分隔符,Joiner.withKeyValueSeparator(char keyValueSeparator)
指定KEY
和VALUE
的分隔符,MapJoiner.join(Iterable<? extends Entry<?, ?>> entries)
来拼接Map
中的数据
|
|
拼接嵌套的Collections
拼接集合中的每个Collection
被转换后的字符串
|
|
Splitter
定义
使用特定的分隔符(seperator
)将字符串分割出来,并根据条件组合成列表数据
使用
把String转换为List
Splitter.on(String seperator)
指定特定的分隔符,Splitter.trimResults()
去掉字符串开始和结尾处的空格,Splitter.splitToList(CharSequence sequence)
将字符串序列组合成列表
|
|
把String转换为Map
Splitter.on(String seperator)
指定特定的分隔符,Splitter.withKeyValueSeparator(String separator)
指定字符串中KEY
和VALUE
的分隔符,MapSplitter.MapSplitter(CharSequence sequence)
将指定的字符串序列组合成Map
|
|
多个分隔符分割String
Splitter.onPattern(String separatorPattern)
指定满足正则条件的分隔符,Splitter.omitEmptyStrings()
忽略掉空字符串,Splitter.splitToList(CharSequence sequence)
将字符串序列组合成列表
|
|
根据指定长度分割String
Splitter.fixedLength(int length)
指定分割字符串的长度,Splitter.splitToList(CharSequence sequence)
将字符串序列组合成列表
|
|
限制分割的结果
Splitter.on(String seperator)
指定特定的分隔符,Splitter.limit(int limit)
指定分割字符串序列的次数,Splitter.splitToList(CharSequence sequence)
将字符串序列组合成列表
|
|