阿里巴巴|为什么不建议Java程序员用阿里巴巴规范,而使用GoogleGuava编程


阿里巴巴|为什么不建议Java程序员用阿里巴巴规范,而使用GoogleGuava编程
文章图片
阿里巴巴|为什么不建议Java程序员用阿里巴巴规范,而使用GoogleGuava编程
文章图片
阿里巴巴|为什么不建议Java程序员用阿里巴巴规范,而使用GoogleGuava编程
文章图片
阿里巴巴|为什么不建议Java程序员用阿里巴巴规范,而使用GoogleGuava编程
文章图片
阿里巴巴|为什么不建议Java程序员用阿里巴巴规范,而使用GoogleGuava编程
文章图片
阿里巴巴|为什么不建议Java程序员用阿里巴巴规范,而使用GoogleGuava编程
文章图片
阿里巴巴|为什么不建议Java程序员用阿里巴巴规范,而使用GoogleGuava编程
文章图片
阿里巴巴|为什么不建议Java程序员用阿里巴巴规范,而使用GoogleGuava编程
文章图片
阿里巴巴|为什么不建议Java程序员用阿里巴巴规范,而使用GoogleGuava编程
前言
阿里巴巴出了一本Java规范 , 在国内java开发眼里被赋予了神圣的殿堂 , 我不推荐你用阿里巴巴的开发手册 。
目前Google Guava在实际应用中非常广泛 , 本篇博客将以博主对 Guava 使用的认识以及在项目中的经验来给大家分享!学习使用 Google Guava可以让你快乐编程 , 写出优雅的 Java 代码 , 在业务允许的条件下 , 我推荐使用 Guava编程!Google 出品 Java 编码规范 , 科学又权威 , 强烈推荐!
Joiner/Splitter/CharMatcher
JDK提供的String还不够好么?
也许还不够友好 , 至少让我们用起来还不够爽 , 还得操心!
举个栗子 , 比如String提供的split方法 , 我们得关心空字符串吧 , 还得考虑返回的结果中存在null元素吧 , 只提供了前后trim的方法(如果我想对中间元素进行trim呢) 。
那么 , 看下面的代码示例 , guava让你不必在操心这些:



Joiner是连接器 , Splitter是分割器 , 通常我们会把它们定义为static final , 利用on生成对象后在应用到String进行处理 , 这是可以复用的 。 要知道apache commons StringUtils提供的都是static method 。 更加重要的是 , guava提供的Joiner/Splitter是经过充分测试 , 它的稳定性和效率要比apache高出不少 , 这个你可以自行测试下 。
发现没有我们想对String做什么操作 , 就是生成自己定制化的Joiner/Splitter , 多么直白 , 简单 , 流畅的API!
对于Joiner , 常用的方法是 跳过NULL元素:skipNulls() / 对于NULL元素使用其他替代:useForNull(String)
对于Splitter , 常用的方法是:trimResults()/omitEmptyStrings() 。 注意拆分的方式 , 有字符串 , 还有正则 , 还有固定长度分割(太贴心了!)
其实除了Joiner/Splitter外 , guava还提供了字符串匹配器:CharMatcher


CharMatcher , 将字符的匹配和处理解耦 , 并提供丰富的方法供你使用!
对基本类型的支持
guava对JDK提供的原生类型操作进行了扩展 , 使得功能更加强大