我正在使用反射来检索实例字段,例如:
private int[] numbers = ....
Run Code Online (Sandbox Code Playgroud)
使用field对象,我可以检查字段是否包含数组,如果有,我想循环遍历数组中的int.因此,如果包含上述字段的对象被称为"foo",那么我会有这样的事情:
field.setAccessible(true);
Object value = field.get(foo);
Run Code Online (Sandbox Code Playgroud)
上面的值变量将包含我的int数组.如何将该对象视为常规数组并迭代其值?
编辑:抱歉,我错过了上述故事的关键点.我正在以通用方式执行上述操作,因此我不知道数组包含什么原语.它可能是一个int []或long []等.所以强制转换为int []在long []情况下是行不通的.哎呀!
Jör*_*ann 14
您可以使用该类java.lang.reflect.Array访问数组的长度和单个元素.该get方法应该以通用方式工作,可能在其包装器对象中包装基元.
| 归档时间: |
|
| 查看次数: |
3246 次 |
| 最近记录: |