展开全部
利用java的反射机制即可62616964757a686964616fe58685e5aeb931333431356633实现:
public class obj {
public String[] a = {"a1","a2","a3"};
public String[] b = {"b1","b2"};
}
import java.lang.reflect.Field;
public class Main {
public static void main(String[] args) {
try {
obj o = new obj();
Field arrayA = obj.class.getField("a");
String[] arr1 = (String[])arrayA.get(o);//两步即可获得数组a的对象
System.out.println("数组a长度为:"+arr1.length);
System.out.println(arr1[0]+","+arr1[1]+","+arr1[2]);
Field arrayB = obj.class.getField("b");
arrayB.setAccessible(true);//我也不知道setAccessible是干什么的,但是我在学习的时候发现别人写的示例代码里面就有这个,你可以自行去搜一下用法
String[] arr2 = (String[])arrayB.get(o);
System.out.println("数组b长度为:"+arr2.length);
System.out.println(arr2[0]+","+arr2[1]);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchFieldException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
以下是运行结果截图: