初心者偷懒系列之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()还没想出好的,明天继续把...
一天敲个几百行代码,没几行是有用的.....
[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();
}