java反射覆写toString方法实现输出实体类属性值

时间:2025-02-24 11:33:17
覆写java实体类toString的方法,使用反射技术输出全部属性的值(包括父类)。
前提条件:两个满足一个就行
1、实体类都继承同一个父类,在父类中覆写toString方法
2、在需要的实体类中覆写toString方法(如果实体类比较多重复代码也多)


(this,true|false);
this表示当前对象,直接传入this就可以不需要更改。
TRUE|FALSE:是否输出包含null的属性。如果是TRUE,则类属性值为空的内容页输出,否则只输出类属性不为空的内容。

工具类:


package ;

import ;

public class ReflectToStringUtil {

    static StringBuffer sb = new StringBuffer();

    public static String toStringUtil(Object clazs,boolean isOutputNull) {

        getParamAndValue(clazs, (), isOutputNull);

        return ();
    }

    private static void getParamAndValue(Object clazs, Class<?> clazz,boolean isOutputNull) {
        
        
        Class<?> sc = ();
        Field[] sfields = ();
        if ( > 0) {
            getParamAndValue(clazs, sc, isOutputNull);
        }
        Field[] fields = ();
        for (Field f : fields) {
            (true);
            try {
                if (null != (clazs)||isOutputNull){
                    (() + "=" + (clazs) + "\n");
                }
            } catch (IllegalArgumentException | IllegalAccessException e) {
                ();
            }
        }
    }

}

使用:

public String toString() {
        return return (this,false);
    }