zoukankan      html  css  js  c++  java
  • 一个实体类基类实现

    为了观察变量方便,我们通常会重写实体类模型的toString方法,可是每一个类都写。有些冗余。

    事实上,能够这样子:

    package others;
    
    import java.io.Serializable;
    import java.lang.reflect.Field;
    
    import org.apache.commons.lang3.builder.ToStringBuilder;
    /**
     * 重写toString()的实体类基类
     * @author limenghua
     *
     */
    public class BaseEntity implements Serializable {
    
    	private static final long serialVersionUID = 4861363281663993175L;
    
    	/**
    	 * toString 
    	 * 打印演示样例:synchronizedtest.Account@768965fb[name=张三, ,amount=500.0, ]
    	 */
    	@Override
    	public String toString() {
    		ToStringBuilder builder = new ToStringBuilder(this);
    		Field[] fields = this.getClass().getDeclaredFields();
    		try {
    			for (Field f : fields) {
    				f.setAccessible(true);
    				builder.append(f.getName(), f.get(this)).append("
    ");
    			}
    		} catch (Exception e) { // Suppress
    			builder.append("toString builder encounter an error");
    		}
    		return builder.toString();
    	}
    }
    
    实体类继承这个类就可以:

    public class Account extends BaseModel{……}


    或者,我们能够用一种更加简单的方式写基类:

    import org.apache.commons.lang3.builder.ToStringBuilder;
    import org.apache.commons.lang3.builder.ToStringStyle;
    import java.io.Serializable;
    
    /**
     * 重写toString()的实体类基类
     *
     * @author limenghua
     */
    public class BaseModel implements Serializable {
    
        private static final long serialVersionUID = 4861363281663993175L;
    
        /**
         * toString
         * 打印演示样例:Account@768965fb[
         * name=张三
         * amount=500.0
         * ]
         */
        @Override
        public String toString() {
            return ToStringBuilder.reflectionToString(this,
                    ToStringStyle.MULTI_LINE_STYLE);
        }
    }


    打印效果:




  • 相关阅读:
    extjs4 数据实体模型
    WPF实现MDI窗体的方法
    WPF中图形表示语法详解(Path之Data属性语法
    Wpf DataGrid 数据绑定 排序 删除
    WPF: 使用TestApi模拟用户输入
    extjs4 事件处理
    WPF触发器
    XPath语法 在C#中使用XPath示例
    WPF 4 中DataGrid的模板列做双向数据绑定
    extjs4 标准面板
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/7074127.html
Copyright © 2011-2022 走看看