java 不知道objcet的属性名称情况下获取值
时间: 2023-05-21 16:01:09 浏览: 130
可以使用 Java 反射机制来获取对象的属性值,具体实现可以参考以下代码:
```java
import java.lang.reflect.Field;
public class ReflectionDemo {
public static void main(String[] args) throws Exception {
// 创建一个对象
Person person = new Person("张三", 18);
// 获取对象的 Class 对象
Class clazz = person.getClass();
// 获取对象的所有属性
Field[] fields = clazz.getDeclaredFields();
// 遍历属性并获取属性值
for (Field field : fields) {
// 设置属性可访问
field.setAccessible(true);
// 获取属性名称和值
String name = field.getName();
Object value = field.get(person);
// 输出属性名称和值
System.out.println(name + " = " + value);
}
}
}
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
```
以上代码可以通过反射机制获取 Person 对象的所有属性名称和值,即使不知道属性名称也可以获取。
阅读全文