使用反射</integer>传递List <integer>

时间:2014-05-14 22:12:54

标签: java reflection

我有一个Java方法:

  public void setPri(List<Integer> pri) { this.pri = pri; }

我想要做的是调用方法并传递List。使用反射的正确方法是什么?

我正在尝试以下方法:

  method = object.getClass().getDeclaredMethod("setPri", List.class);
  method.invoke(null,new Object[] { pri });

1 个答案:

答案 0 :(得分:3)

您的代码主要不起作用,因为您没有将实例作为第一个参数传递:

method.invoke(null,new Object[] { pri });

您需要将object作为第一个参数传递,而不是null

这应该有效:

List<Integer> pri = Arrays.asList(1,2,3,4);
Method method = object.getClass().getDeclaredMethod("setPri", List.class);
method.invoke(object, new Object[] { pri });