apache的commons包写的还是很好的,熟练运用可以事半功倍。计划写系列文章读一下lang包的主要几个类,主要是说明作用,有时候会说一下自己读源码的感悟。
代码内容
常量
ArrayUtils 类刚开始定义了很多空数组静态变量:Object空数组,Class空数组,String空数组,八大基本类型空数组,及八大基本类型的包装类的空类型,然后定义了一个INDEX_NOT_FOUND=-1表示index不存在的情形。根据《代码整洁之道》,意义明确、一看就懂很重要!!!所以有时候定义常量是更好的选择,而不是写个注释”-1代表找不到”。
toString()
toString()方法用到了ToStringBuilder类,这个类可以简单灵活的控制toString方法的输出,下面是ToStringBuilder的简单用法介绍:
public class Person {
String name;
int age;
boolean smoker;
...
public String toString() {
return new ToStringBuilder(this).
append("name", name).
append("age", age).
append("smoker", smoker).
toString();
}
}
//调用输出示例:Person@7f54[name=Stephen,age=29,smoker=false]
hashCode()
方法用到了HashCodeBuilder类,同上面差不多
isEquals()
<