/**
	 * 传入对象
	 * @param obj 前提obj存在set get方法
	 * @return返回对象存在的属性值
	 * @throws Exception
	 */
	public static String ObjectParesToString(Object obj) throws Exception{
        Class userClass = Class.forName(obj.toString().split("@")[0]);//加载类
        Field[] fields = userClass.getDeclaredFields();//获得对象方法集合
        String fdname=null;
        Method metd = null;
            for (Field field : fields) {// 遍历该数组
                 fdname = field.getName();// 得到字段名,
                 metd = userClass.getMethod("get" + change(fdname), null);// 根据字段名找到对应的get方法,null表示无参数
                   Object name = metd.invoke(obj, null);// 调用该字段的get方法
                     if(name!=null){
                     	System.out.println(name);
                     }
             }
            return null;
	}

	   /**
     * @param src
     *            源字符串
     * @return 字符串,将src的第一个字母转换为大写,src为空时返回null
     */
    public static String change(String src) {
        if (src != null) {
            StringBuffer sb = new StringBuffer(src);
            sb.setCharAt(0, Character.toUpperCase(sb.charAt(0)));
            return sb.toString();
        } else {
            return null;
        }
    }

 

public class User {
	
    private String name;

    private String sex;

    public User() {
        super();
    }

    public User(String name, String sex) {
        super();
        this.name = name;
        this.sex = sex;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
}

 

public static void main(String[] args) throws Exception {
    User u1=new User("张三", "女");
    Test.ObjectParesToString(u1);
    	
	}