java如何获取对象深层数据

53次阅读
没有评论

共计 1090 个字符,预计需要花费 3 分钟才能阅读完成。

要获取对象的深层数据,可以使用递归方法来遍历对象的属性。

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 方法。通过这种方式,可以遍历获取对象的所有深层数据。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-20发表,共计1090字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)