package com.watermelon.reflect;
public class MethodDemo3 {
/**
* @param args
*/
public static void main (String[] args) {
User u1 = new User("zhangsan" , "123456" , 30 );
System.out.println(BeanUtil.getValueByPropertyName(u1, "username" ));
System.out.println(BeanUtil.getValueByPropertyName(u1, "userpass" ));
}
}
package com.watermelon.reflect;
import java.lang.reflect.Method;
public class BeanUtil {
/**
* 根据标准javaBean对象的属性名获取其属性值
*
* @param obj
* @param propertyName
* @return
*/
public static Object getValueByPropertyName (Object obj, String propertyName) {
String getMethodName = "get"
+ propertyName.substring(0 , 1 ).toUpperCase()
+ propertyName.substring(1 );
Class c = obj.getClass();
try {
Method m= c.getMethod(getMethodName);
Object value = m.invoke(obj);
return value;
} catch (Exception e) {
e.printStackTrace();
return null ;
}
}
}
package com.watermelon.reflect;
public class User {
private String username;
private String userpass;
private int age;
public User (){}
public User (String username, String userpass, int age) {
super ();
this .username = username;
this .userpass = userpass;
this .age = age;
}
public String getUsername () {
return username;
}
public void setUsername (String username) {
this .username = username;
}
public String getUserpass () {
return userpass;
}
public void setUserpass (String userpass) {
this .userpass = userpass;
}
public int getAge () {
return age;
}
public void setAge (int age) {
this .age = age;
}
}