rap*_*ura 1 java arrays reflection
我的A班了
AClaz[] rofl;
Run Code Online (Sandbox Code Playgroud)
getDeclaredFields的文档说:"如果类或接口没有声明字段,或者此Class对象表示基本类型,数组类或void ,则此方法返回长度为0 的数组."
我想使用反射访问AClaz类型的rofl数组.即使AClaz是A类的内部类.
所以我会做getDeclaredClass?
你误读的文档-它在谈论呼吁getDeclaredFields 在一个数组类,像这样:
Class<?> arrayClass = String[].getClass();
Field[] fields = arrayClass.getDeclaredFields();
Run Code Online (Sandbox Code Playgroud)
您应该能够A毫无问题地使用该字段
Field[] fields = A.class.getDeclaredFields();
Run Code Online (Sandbox Code Playgroud)
然后迭代数组,或
Field roflField = A.class.getDeclaredField("rofl");
Run Code Online (Sandbox Code Playgroud)
字段类型是数组的事实根本不是问题.