Commons Lang 种介绍(未完待续)

Commons Lang 类介绍(未完待续)
1.自动生成toString() 方法.

          用于对象的自动生成toString()方法.

          用到          import org.apache.commons.lang.builder.ReflectionToStringBuilder;

          类中重写toString()方法如下:

          public String toString(){

              return ReflectionToStringBuilder.toString(this);

          }

          打印结果类似:com.gua.Lang1.PoliticalCandidate@ca0b6[lastName=瓜,firstName=瓜,dateOfBirth=Sun Apr 15 19:41:04 CST 1979,moneyRaised=284398493849.22998046875,homeState=com.gua.Lang1.State@69b332[abbreviation=VA,name=Virginia]]

通过反射机制,获取属性值打印出来
,不过格式比较不方便,输出到了一行上.

         假如在类中重写toString()方法如下的话:

public String toString(){
        return        new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
        .append("姓",firstName).append("名",lastName).toString();
}

输出为:

com.gua.Lang1.PoliticalCandidate@14318bb[
        姓=Liu
        名=Steven
]
这样的重写,可以把格式顺便写如toString()方法

* 在使用ToStringBuilder时候,假如想只输出某些属性.可以用append("属性名",值) 来定制.

* ToStringStyle的静态样式 常用如下几种:

        DEFAULT_STYLE        无格式

        MULTI_LINE_STYLE       每个属性间+一个换行

        NO_FIELD_NAMES_STYLE        不显示属性名

        SIMPLE_STYLE       只输出值



2. ArrayUtils

      反转数组:                                                     reverse(数组)

      输出数组内容:                                              ArrayUtils.toString(数组);

      克隆数组:                                                     ArrayUtils.clone(数组);

      对象数组<--->基本类型数组 相互转换          ArrayUtils.toObject ()      ArrayUtils.toPrimitive();

     数组有否包含XX数据                                     ArrayUtils.contains(数组,数据(可以是对象))

     数据在数组的坐标                                         ArrayUtils.indexOf(数组,数据(可以是对象))

     数据在数组的最后坐标                                   ArrayUtils.lastIndexOf(数组,数据(可以是对象))

     多维数组生成MAP                                         ArrayUtils.toMap()