Java 调用方法。调用(…)将列表作为参数传递

Java 调用方法。调用(…)将列表作为参数传递,java,reflection,Java,Reflection,我试图通过反射调用此方法,但没有成功 Method method = App.class.getDeclaredMethod("imp" + tipTransa, Connection.class, // connection String.class, // token

我试图通过反射调用此方法,但没有成功

Method method = App.class.getDeclaredMethod("imp" + tipTransa,
                        Connection.class,                       // connection
                        String.class,                           // token
                        String.class,                           // tipTransa
                        String.class,                           // tipOpe
                        String.class,                           // msgGuid
                        List<Map<String,Object>>.getClass());   // this is the problem
method.setAccessible(true);
method.invoke(null, conn, token, tipTransa, tipOpe, msgGuid, data);

如何解决List.getClass问题?

在运行时,列表与列表或任何其他类型的列表之间没有区别,因为泛型类型信息会被擦除


您可以只使用List.class。

在运行时,列表与列表或任何其他类型的列表之间没有区别,因为泛型类型信息会被擦除

您可以通过使用原始类型使用List.class.

List.class

通过使用原始类型:

List.class


泛型在运行时不存在,或者更确切地说,它们在编译时不存在,因此不需要运行时文本包含泛型类型

而不是

List<Map<String,Object>>.getClass() 

泛型在运行时不存在,或者更确切地说,它们在编译时不存在,因此不需要运行时文本包含泛型类型

而不是

List<Map<String,Object>>.getClass() 

这种问题已经被回答了好几次了。我希望我能把所有答案都标为正确答案。谢谢你们。Pshemo和Paul Boddington.@RodrigoGarcia既然所有张贴的答案都是正确的,请随意接受一个你最喜欢的答案:这种问题已经回答了好几次了。我希望我能把所有答案都标为正确答案。谢谢你们。Pshemo和Paul Boddington.@RodrigoGarcia因为所有张贴的答案都是正确的,所以请随意接受您最喜欢的答案: