java反射返回对象存在的属性值


package com.yysoft.util;

import java.lang.reflect.Field;
import java.lang.reflect.Method;

public class ReflectDemo {

	/**
	 * 传入对象
	 * 
	 * @param obj
	 *            前提obj存在set get方法
	 * @return返回对象存在的属性值
	 * @throws Exception
	 */

	public static String ObjectParesToString(Object obj) throws Exception {
		Class clazz = obj.getClass();// 加载类
		Field[] fields = clazz.getDeclaredFields();// 获得对象方法集合
		String fdname = null;
		Method metd = null;
		for (Field field : fields) {// 遍历该数组
			fdname = field.getName();// 得到字段名,
			metd = clazz.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;
		}
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值