This question already has an answer here:
This is a follow-up to this question.
I am writing a library where I want to look for a (public) field with a specific name on a specific class. I am doing so via reflection:
public static Field findField(Class<?> instance_c, String name) {
return instance_c.getField(name);
}
Now the problem is the following:
Class<?> c = int[].class;
// int i = new int[2].length;
System.out.println(findField(c, "length")); // Throws an exception
This is documented behaviour:
Method java.lang.Class.getField(String name):
[snip]
If this Class object represents an array type, then this method does not find the length field of the array type.
Is there a way that I somehow can still use the functionality of java.lang.reflect.Field with Array#length? I could imagine a builtin or selfwritten Proxie that lets me keep the functionality of Field in this one special case.
If I should further explain what of Field I'm using especially, please leave a comment. The goal is to keep as much as possible.
Aucun commentaire:
Enregistrer un commentaire