我想从类中获得一个私有的List字段,但我不知道给field.get什么参数才能成功地从类中获取List。我当前的代码生成java.lang.IollegalArgumentException.
Field field = Minecraft.class.getDeclaredField("defaultResourcePacks");
field.setAccessible(true);
List<IResourcePack> changedList = new ArrayList<IResourcePack>();
List<IResourcePack> list = (List<IResourcePack>) field.get(changedList);
在您的示例中:
List<IResourcePack> changedList = new ArrayList<IResourcePack>();
List<IResourcePack> list = (List<IResourcePack>) field.get(changedList);
您使用get()
的方式不对。所需的参数必须是Minecraft类的Object;get
提取您之前识别的字段的内容。换句话说:您不需要输入参数"changedList";你需要一个Minecraft对象。
我认为您应该使用get(objOfMinecraft)