java反射 javaBean根据属性名找属性值
假设一个javaBean类,有两个属性,userName和password,现在如果想通过属性名来找其对应的属性值的话,我们就要用到java反射了,我这里的方法是根据attribute name组装method方法,然后利用method的invoke方法,就可以获取到attribute value了!下面直接上代码
dto类:
public class Dto { private String userName; private String password; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
?处理方法:
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class t { public static void main(String[] args){ Dto d = new Dto(); d.setUserName("LRR"); d.setPassword("123"); // 已知attribute name 组装 getter语句 String getter = "get" + "UserName";// getUserName try { // 通过method的反射方法获取其属性值 Method method = d.getClass().getMethod(getter, new Class[]{}); Object value = method.invoke(d, new Object[]{}); System.out.print(value); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NoSuchMethodException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
?结果:LRR
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。