一、核心源码
PS:简单分析:
1、泛型A决定了,传过来什么类型的参数就返回去什么类型。
2、大概意思就是先判断null,然后遍历第二个参数(是个迭代器),并且将遍历的每一个结果都append到泛型里。append方法哪里来?可以发现返回值A继承了Appendable。每追加一个就追加一个分隔符进去,最后return。
源码及其的简单易懂,其余部分还要靠大家自己摸索。
二、Demo
1、将List中的元素按照自定义的分隔符分割成字符串
PS:join底层实现自己去看,很简单,调用的就是appendTo
2、将List中的带有null值的元素按照自定义的分隔符分割成字符串
PS:为什么出现空指针,自己读源码。
3、将List中的带有null值的元素按照自定义的分隔符分割成字符串,但是排除null值
4、将List中的带有null值的元素按照自定义的分隔符分割成字符串,但是将null值换成自定义的值
5、将List中的带有null值的元素按照自定义的分隔符分割成字符串,但是将null值换成自定义的值,并append到StringBuilder里
6、将List中的带有null值的元素按照自定义的分隔符分割成字符串,但是将null值换成自定义的值,并输出到文件中
7、将Map中的key-value按照不同的分隔符分割成字符串
三、总结
具体的使用大部分都在这里了,个人觉得使用期间可以学习学习源码,源码真的很易读,可以看看大师是怎么写代码的。
分享完毕,需要源码的小伙伴们请私信回复“Guava”获取
领取专属 10元无门槛券
私享最新 技术干货