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;
}
}
}
java反射返回对象存在的属性值
最新推荐文章于 2024-07-13 02:48:32 发布