我已设法通过反射访问类变量,并将其存储在Field变量中。我也有该领域所属的类。如何将Field对象转换为List,因为我想使用反射添加到此List。
我通过反射访问的List变量(并存储在Field对象中)我希望能够添加到它。
由于
import java.util.ArrayList;
public class Test
{
private ArrayList<Integer> aList = new ArrayList<Integer>();
//some methods...
}
Field field = myObject.getClass().getField("aList");;
field.setAccessible(true);
//some how add an integer to that list
答案 0 :(得分:6)
未测试:
ArrayList<Integer> myList = (ArrayList<Integer>) field.get(myObject);
myList.add(5);
我假设以上是你要做的事情?您的代码示例中有点不清楚。
此外,由于该字段是私有的,因此您需要使用getDeclaredField()而不是getField()(正如您在示例中所使用的那样)。