java 获取对象某个属性值

 

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;
}

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要去除 Java 对象的某个属性,可以使用 Java 反射技术来实现。具体步骤如下: 1. 使用 Class 类的 getDeclaredField 方法获取所需属性的 Field 对象; 2. 设置 Field 对象的访问权限为可修改; 3. 使用 Field 对象的 set 方法将属性设置为 null; 4. 恢复 Field 对象的访问权限。 下面是一个示例代码: ```java import java.lang.reflect.Field; public class RemovePropertyValue { public static void main(String[] args) throws Exception { // 创建一个对象 Person person = new Person("Tom", 20); // 输出对象属性 System.out.println("Before removing property value:"); System.out.println(person); // 获取属性为 name 的 Field 对象,并将其设置为 null Field nameField = Person.class.getDeclaredField("name"); nameField.setAccessible(true); // 设置访问权限为可修改 nameField.set(person, null); // 将属性设置为 null nameField.setAccessible(false); // 恢复访问权限 // 输出对象属性 System.out.println("After removing property value:"); System.out.println(person); } } class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", age=" + age + '}'; } } ``` 这段代码创建了一个 Person 对象,并将其属性为 name 的设置为 null。输出结果如下: ``` Before removing property value: Person{name='Tom', age=20} After removing property value: Person{name='null', age=20} ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值