如何通过反射修改List

Bis*_*128 2 java reflection

我已设法通过反射访问类变量,并将其存储在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
Run Code Online (Sandbox Code Playgroud)

Tre*_*man 6

未经测试:

ArrayList<Integer> myList = (ArrayList<Integer>) field.get(myObject);
myList.add(5);
Run Code Online (Sandbox Code Playgroud)

我假设上面是你要做的事情?您的代码示例中有点不清楚.

此外,由于该字段是私有的,您将需要使用getDeclaredField()而不是getField()(在您的示例中使用).