`
ezzze
  • 浏览: 41473 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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

阅读更多
上次就说过,软件外包是民工苦力活.....
一天敲个几百行代码,没几行是有用的.....



尤其是刚开始那些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();
	}



  • 描述: 大部分时间 就是干这个了
  • 大小: 27.7 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics