欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

初心者偷懒系列之toString(),equal()

程序员文章站 2022-03-03 12:32:36
...
上次就说过,软件外包是民工苦力活.....
一天敲个几百行代码,没几行是有用的.....

[img]http://www.iteye.com/upload/attachment/122681/fcadd145-a351-3141-a19e-22bb94e5351b-thumb.png?1246938282[/img]

尤其是刚开始那些domain bean的toString方法,是非常能让人无聊死的....

干活一定要偷懒,不然上班哪有时间泡MM?

其实也挺简单的,无非就是基类用反射加个toString()嘛...不过俺是菜鸟,也是写了几个toString()方法后,才被老人骂醒的。

然后花了半天,才写出这么搓的toString(),而且equals()还没想出好的,明天继续把...


public String toString(){
StringBuffer sb = new StringBuffer();
Class<?> thisClass = getClass();
sb.append("{");
sb.append(toString(thisClass));
sb.append("}");
return sb.toString();
}

private String toString(Class<?> thisClass){
StringBuffer sb = new StringBuffer();
Field[] fields = thisClass.getDeclaredFields();
for(Field field:fields){
try {
boolean accessable = field.isAccessible();
field.setAccessible(true);
Object value = field.get(this);
field.setAccessible(accessable);
sb.append("[");
sb.append(field.getName());
sb.append(" : ");
sb.append(String.valueOf(value));
sb.append("]");
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block

} catch (IllegalAccessException e) {
// TODO Auto-generated catch block

}

}

Class<?> superClass = thisClass.getSuperclass();

if(!superClass.equals(AbstractBean.class)){
toString(superClass);
}
return sb.toString();
}
相关标签: Bean