Java 将参数与方法签名匹配
我有一个Java 将参数与方法签名匹配,java,spring,reflection,Java,Spring,Reflection,我有一个方法和一个参数列表,用于调用该方法。但是,参数列表的顺序可能不正确,并且可能包含太多/太少与方法签名匹配的参数 在我重新发明轮子之前,是否存在一个函数来调用带有我拥有的参数列表的方法,并且它尽可能地匹配方法签名的参数……可能是Spring中的某个内容?您可以直接将列表传递给您的方法,也可以使用 方法重载可能很有用,但如果您的参数顺序不正确,它实际上不是一个选项。如果您可以事先对对象列表进行排序,那么它可能是一个选项 然而,在我看来,传递对象列表的最简单方法是传递列表本身,而不是试图事先将
方法
和一个参数列表
,用于调用该方法。但是,参数列表的顺序可能不正确,并且可能包含太多/太少与方法签名匹配的参数
在我重新发明轮子之前,是否存在一个函数来调用带有我拥有的参数列表的方法,并且它尽可能地匹配方法签名的参数……可能是Spring中的某个内容?您可以直接将列表传递给您的方法,也可以使用 方法重载可能很有用,但如果您的参数顺序不正确,它实际上不是一个选项。如果您可以事先对对象列表进行排序,那么它可能是一个选项
然而,在我看来,传递对象列表的最简单方法是传递列表本身,而不是试图事先将其分解。在这种情况下,您需要写出您的逻辑来在方法内部分解列表。此案例还将为您提供更多的测试功能,以查明列表中到底包含哪些内容。否,解决问题的任何实现都需要外部信息,而只有
方法和列表的提供者才会拥有这些信息
用这样的方法
void method (String name, String city, String parent) {}
和列表
"Sotirios", "New York", "Alexander"
方法#invoke(..)
中的每个参数将放在哪里
只有你才能知道这些信息。啊,我没想过。我的示例只会有不同的类型。我想我会写一些东西…@Cheetah你能做的最多的事情(实际上不知道顺序)是尽最大努力匹配类型(也考虑继承)。您可以对订单进行排序,然后选择排名第一的订单。