封装获取实体类的字段值
时间: 2023-09-08 11:17:32 浏览: 73
通过反射获得实体类的字段和值
4星 · 用户满意度95%
你可以在实体类中定义一个公共方法,通过反射机制获取实体类的属性值。具体步骤如下:
1. 获取实体类的Class对象:同样使用Class.forName("类的全限定名")或者实例对象.getClass()来获取实体类的Class对象。
2. 获取属性值:使用Class对象的getField()或者getDeclaredField()方法获取指定名称的属性,然后调用该属性的get()方法获取属性值。
下面是一个示例代码:
```
public class User {
private String name;
private int age;
// 省略getter和setter方法
public Object getFieldValue(String fieldName) throws NoSuchFieldException, IllegalAccessException {
Class<?> clazz = this.getClass();
Field field = clazz.getDeclaredField(fieldName);
field.setAccessible(true);
return field.get(this);
}
}
public class Main {
public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException {
User user = new User();
user.setName("Tom");
user.setAge(18);
Object nameValue = user.getFieldValue("name");
Object ageValue = user.getFieldValue("age");
System.out.println(nameValue); // Tom
System.out.println(ageValue); // 18
}
}
```
在上面的代码中,我们在User类中定义了一个公共方法getFieldValue(),该方法接收一个属性名称作为参数,通过反射机制获取该属性的值并返回。在Main类中,我们创建了一个User对象,并设置了name和age属性的值。然后我们调用User对象的getFieldValue()方法获取name和age属性的值。
阅读全文