要获取对象的深层数据,可以使用递归方法来遍历对象的属性。
public class Main { public static void main(String[] args) { // 创建一个对象 Person person = new Person("John", 25, new Address("123 Street", "City")); // 获取对象的深层数据 getDeepData(person); } public static void getDeepData(Object obj) { // 判断对象是否为基本类型或字符串 if (obj == null || obj instanceof String || obj.getClass().isPrimitive()) { System.out.println(obj); return; } // 获取对象的所有属性 Field[] fields = obj.getClass().getDeclaredFields(); for (Field field : fields) { try { // 设置属性可访问 field.setAccessible(true); // 获取属性的值 Object fieldValue = https://www.yisu.com/ask/field.get(obj);"hljs">int age, Address address) { this.name = name; this.age = age; this.address = address; } } class Address { private String street; private String city; public Address(String street, String city) { this.street = street; this.city = city; } }
上述代码中,创建了一个Person
对象,并使用递归方法getDeepData
来获取对象的深层数据。getDeepData
方法首先判断对象是否为基本类型或字符串,如果是则直接打印该对象;否则,获取对象的所有属性,递归调用getDeepData
方法来获取每个属性的深层数据。在递归调用时,将属性的值作为参数传递给getDeepData
方法。通过这种方式,可以遍历获取对象的所有深层数据。