[英]Get private field values using Reflection API java
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.net.UnknownHostException;
import java.util.ArrayList;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.MongoClient;
public class MongoTest {
/**
* @param args
* @throws UnknownHostException
* @throws ClassNotFoundException
* @throws IllegalAccessException
* @throws IllegalArgumentException
*/
public static void main(String[] args) throws UnknownHostException, ClassNotFoundException, IllegalArgumentException, IllegalAccessException {
Employee employee= new Employee();
employee.setFirstname("Durga Dutt");
employee.setLastname("Pandey");
employee.setAge(28);
employee.setSalary(100035);
Class<?> cl= Class.forName("Employee");
Field[] fields= cl.getDeclaredFields();
for(int i=0;i<fields.length;i++)
{
System.out.println(fields[i].get(employee));
}
}
}
上面的程序返回的是公共字段的值,但不適用於私有成員。 我在POJO類中聲明了getter和setter方法。
有任何想法嗎 ?
要獲取私有字段的值,應使用setAccessible
將其設置為可訪問。
getDeclaredFields
將允許您查看私有字段的名稱,而不是值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.