gpt4 book ai didi

java - Java 中通过反射将字段转换为数组类型

转载 作者:行者123 更新时间:2023-12-01 10:51:29 24 4
gpt4 key购买 nike

我想通过反射获取 TextView 数组的私有(private)字段,但我需要将该字段强制转换回数组。

Field f= FieldUtils.getDeclaredField(ContentAdapter.ViewHolder.class, "button_massive", true);

像这样的显式转换 TextView[] f1 = ((TextView[]) f) 不起作用。

提前谢谢您!

最佳答案

您直接将 Field 类型转换为数组。那肯定行不通。您想要的是使用 Field#get() 方法获取 f 的值。然后将该结果类型转换为 Object[]

Field f= FieldUtils.getDeclaredField(ContentAdapter.ViewHolder.class, "button_massive", true);
Object[] result = (Object[]) f.get(obj);

如果您确实想要 TextView 类型数组,那么您必须使用 Object[] 创建数组并从上面填充它:

TextView[] f1 = new TextView[result.length];
// Iterate over the `Object` array, and populate `f1` array.

我还没有测试过这个,但它应该可以工作。

关于java - Java 中通过反射将字段转换为数组类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33856704/

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