java 获取对象某个属性值

本文介绍了两种使用Java反射机制来获取对象特定属性值的方法。第一种方法通过调用getter方法实现,第二种则是直接访问对象的字段。这两种方法各有优劣,可根据实际需求选择使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

private String getValueByReflet(Object model, String paraName) throws Exception{
      // 返回值
      String value = "";

      // 获取属性值
      Field[] fields = model.getClass().getDeclaredFields();
		
      for (Field field : fields) {
            // 属性名称
            String name = field.getName();
	   // 属性类型
           String type = field.getGenericType().toString();
			
	   if (type.equals("class java.lang.String")) {
	         if (name.equals(paraName)) {
		       // 将属性的首字符大写,方便构造get,set方法
		       name = name.substring(0,1).toUpperCase() + name.substring(1); 
					
		       // 获取方法
		       Method m = model.getClass().getMethod("get" + name);
					
		       // 调用getter方法获取属性值
		       value = (String) m.invoke(model);
		 }
            }
      }
      return value;
}
 

方法二:

 

public static String getValueByReflet(Object model, String paraName) throws Exception {
      // 返回值
      String value = "";
		
      // 获取属性值
      Field[] fields = model.getClass().getDeclaredFields();
		
      for (Field field : fields) {
            field.setAccessible(true);
			
	    if (field.getName().equals(paraName)) {
	          value = (String) field.get(model);
				
		  break;
	    }
      }
      return value;
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值