不过最近给其 Review 代码的时候,阿粉发现小师弟有些代码逻辑有些繁琐,有些代码阿粉看来可以用一些开源工具类实现,不需要自己重复实现。
不过这也是正常的,阿粉刚入行的时候写的代码也是这样,这几年慢慢接触了一些开源工具类,逐渐积累。现在写代码才会直接用工具类替换自己实现的这些繁琐的逻辑。
于是阿粉给小师弟分享了几个自己常用的开源工具类,小师弟学完直呼:『666』。、这里阿粉抛砖引玉,分享几个常用的工具类,希望帮助到刚入行的同学们。其他编程老司机如果还有其他好用的工具类,欢迎评论区分享。
下文主要分享这几个方向的常用工具类:
字符串相关工具类
Java 中 String 应该是日常用的最多一个类吧,平常我们很多代码需要围绕 String ,做一些处理。
JDK 提供 String API 虽然比较多,但是功能比较基础,通常我们需要结合 String 多个方法才能完成一个业务功能。
下面介绍一下 Apache 提供的一个工具类 StringUtils.
Maven Pom 信息如下:
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.10</version> </dependency>
commons-lang 有两个版本,一个是 commons-lang3 ,一个是 commons-lang 。
commons-lang 是老版本,已经很久没有维护了。
commons-lang3 是一直在维护的版本,推荐直接使用这个版本。
注意:如果你系统已经有 commons-lang,注意如果直接替换成 commons-lang3,将会编译错误。commons-lang3 中相关类与 commons-lang 一样,但是包名不一样。
判断字符串是否为空
判断字符串是否为空,想必每个人应该都写过吧:
if (null == str || str.isEmpty()) { }
虽然这段代码非常简单,但是说实话,阿粉以前还是在这里犯过空指针的异常的。
使用 StringUtils ,上面代码可以替换下面这样:
if (StringUtils.isEmpty(str)) { }
StringUtils 内部还有一个方法 isBlank
,也是用来判断字符串是否为空,两个方法比较相近,比较搞混,主要区别如下:
// 如果字符串都是空格的话, StringUtils.isBlank(" ") = true; StringUtils.isEmpty(" ") = false;
判断字符串是否为空,使用频率非常高,这里大家可以使用 IDEA Prefix 的功能,输入直接生成判空语句。