gpt4 book ai didi

java - 获取字段名称并检查数组列表是否存在?

转载 作者:行者123 更新时间:2023-12-01 14:05:40 26 4
gpt4 key购买 nike

使用下面的方法,我可以传递任何类,并且可以获得列表的值。

public static void GetFieldName(ArrayList<Object> object)
throws IllegalArgumentException, IllegalAccessException {

for (Object obj : object)
for (Field field : obj.getClass().getDeclaredFields()) {
Log.i("Field", field.getName() + ":" + field.get(obj));

}
}

假设我有两个类(class) StudentEmployee 。我不知道他们两个都有多少个领域。我仍然可以使用上述方法获取每个字段的值。

现在,我想检查特定类中是否有任何 ArrayList,即假设 Student类有一个 Arraylist<Address>Address类(class)。那么我可以获得数组列表值吗?

最佳答案

您需要使用Class#isAssignableFrom(Class cls)方法。

for (Field field : obj.getClass().getDeclaredFields()) {
Log.i("Field", field.getName() + ":" + field.get(obj));
if (field.getType().isAssignableFrom(ArrayList.class) {
field.setAccessible(true); //needed for private fields
Object value = field.get(c); //getting the private field value
ArrayList<Address> x = (ArrayList<Address>) value; // cast to ArrayList<Address>
}
}

更多信息:

关于java - 获取字段名称并检查数组列表是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18930082/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com