有人可以帮我找一些在javassist中查找数组长度的方法吗?我有一个内部有一个静态数组的类:
public class SomeClass {
private static String arr[] = new String[]{"1", "2", "3"};
}
现在,在另一个类中,我正在加载SomeClass并尝试获取arr数组的长度。
ClassPool classPool = ClassPool.getDefault();
CtClass ctClass = classPool.get("SomeClass");
ctClass.getField("arr") //<---------- HOW TO GET LENGTH HERE?
谢谢!
答案 0 :(得分:0)
您的代码代表以下类:
public class SomeClass {
private static String[] arr;
static {
arr = new String[] {"1", "2", "3"};
}
}
为了读取数组的长度,您需要解析类初始化程序并解释其字节代码。 Javassist没有用于提取此信息的内置功能。</ p>