通过反射,可以获取所有声明的成员变量(包括所有的),代码如下:
package spt.test.src; public class Person { private String name = "pri_name"; public String id; }
运行测试:
package spt.test; import java.lang.reflect.Field; import spt.test.src.Person; class ReflectionTest { @SuppressWarnings("unchecked") public static void main(String[] args) throws IllegalAccessException { Person person = new Person(); person.id = "akk"; Class<Person> pClass = (Class<Person>) person.getClass(); for (Field field : pClass.getDeclaredFields()) { try { //set accessable. field.setAccessible(true); //get field name and value. System.out.println(field.getName() + ":" + field.get(person)); } catch (IllegalArgumentException e) { e.printStackTrace(); } } } }
将在控制台上输出:
name:pri_name id:akk
时间: 2024-10-08 04:28:34