子在川上曰

    逝者如斯夫不舍昼夜
随笔 - 109, 文章 - 0, 评论 - 823, 引用 - 0
数据加载中……

Jakarta Commons Cookbook笔记(1)

从图书馆借了《Jakarta Commons Cookbook》,系统的了解了一下Apache的commons包,将一些以后可能会常用到的记录如下。陈刚(www.chengang.com.cn)于2007-12-18.深圳。由于工作平台是Linux,所以是记在OpenOffice里,粘帖过来的时候排版有些失真,也不想修整了,等笔记完成之后直接再出一个PDF版本吧。

Jakarta Commons Cookbook笔记

lang

ReflectionToStringBuilder.toString()

1.

ReflectionToStringBuilder.toString(newModel())

Model@14318bb[url=www.chengang.com.cn,port=80]


2.

ReflectionToStringBuilder.toString(newModel(),ToStringStyle.MULTI_LINE_STYLE));

Model@14318bb[

url=www.chengang.com.cn

port=80

]


classModel{

Stringurl="www.chengang.com.cn";

intport=80;

}


ToStringBuilder.reflectionToString();

1.

ToStringBuilder.reflectionToString(newModel());

Model@14318bb[url=www.chengang.com.cn,port=80]

改写类的三方法toStringhashCodeequals

classModel{

Stringurl="www.chengang.com.cn";

intport=80;

publicStringtoString(){

returnnewToStringBuilder(this).append("url",url).append("port",port).toString();

}

publicinthashCode(){

//17,37要求为质数

returnnewHashCodeBuilder(17,37).append(url).append(port).toHashCode();

// HashCodeBuilder.reflectionHashCode(this);

}

publicbooleanequals(Objecto){

booleanresult=false;

if(o!=null&&Model.class.isAssignableFrom(o.getClass())){

Modelm=(Model)o;

result=newEqualsBuilder().append(url,m.url).append(port,m.port).isEquals();

}

returnresult;

//EqualsBuilder.reflectionEquals(this,o);

}

}

CompareToBuilder.reflectionCompare(this,o);

public int compareTo(Object o){

return CompareToBuilder.reflectionCompare(this,o);

}


public int compareTo(Object o){

int result = -1;

if (o!=null && Model.class.isAssignableFrom(o.getClass()){

Model m = (Model)o;

result = new CompareToBuilder().append(url,m.url).append(port,m.port)

.toComparison();

}

return result;

}


打印数组

commons的:ArrayUtils.toString();

JDK的:Arrays.toString();


基础类型和包装类型的数组互转

Long[] objectArray = ArrayUtils.toObject(primitiveArray);

long[] primitiveArray = ArrayUtils.toprimitive(objectArray);

在数组中查找

boolean b = ArrayUtils.contains(stringArray, "glchengang");

int i = ArrayUtils.indexOf(stringArray, "glchengang"); //找不到返回-1

int l = ArrayUtils.lastIndexOf(stringArray, "glchengang");

多维数组转Map

Object[] array = new Object[][]{{"A", new Double(1.007)}, ... , {"F", new Double(1.007)}};

Map map = ArrayUtils.toMap(array);

Double d = map.get("A");

posted on 2007-12-18 21:33 陈刚 阅读(757) 评论(0)  编辑  收藏 所属分类: Jakarta Commons


标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-12-19 21:12 编辑过
 
 
相关链接:
网站导航: