要获取对象的深层数据,可以使用递归方法来遍历对象的属性。
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 = field.get(obj);// 递归获取属性的深层数据getDeepData(fieldValue);} catch (IllegalAccessException e) {e.printStackTrace();}}}}class Person {private String name;private int age;private Address address;public Person(String name, 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方法。通过这种方式,可以遍历获取对象的所有深层数据。

