gpt4 book ai didi

java - 使用反射解包数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:39:11 24 4
gpt4 key购买 nike

我正在尝试解压缩从反射对象字段中获得的数组。我将通用字段的值设置为一个对象。如果它是一个数组,那么我想将我的通用对象转换为一个数组(无论其类型如何)并提取其内容

fields[i].setAccessible(true);
String key = fields[i].getName();
Object value = fields[i].get(obj);

if (value.getClass().isArray()){
unpackArray(value);
}

在我的 unpackArray 方法中,我尝试将对象值转换为 java.util.Arrays、java.reflect.Array 和 Array[],但每次都不允许。

有没有办法可以将我的对象转换为通用数组?

非常感谢山姆

最佳答案

所有数组的唯一父类是 Object。

要将数组的值提取为 Object[],您可以使用。

public static Object[] unpack(Object array) {
Object[] array2 = new Object[Array.getLength(array)];
for(int i=0;i<array2.length;i++)
array2[i] = Array.get(array, i);
return array2;
}

关于java - 使用反射解包数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8095016/

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