Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将参数与方法签名匹配_Java_Spring_Reflection - Fatal编程技术网

Java 将参数与方法签名匹配

Java 将参数与方法签名匹配,java,spring,reflection,Java,Spring,Reflection,我有一个方法和一个参数列表,用于调用该方法。但是,参数列表的顺序可能不正确,并且可能包含太多/太少与方法签名匹配的参数 在我重新发明轮子之前,是否存在一个函数来调用带有我拥有的参数列表的方法,并且它尽可能地匹配方法签名的参数……可能是Spring中的某个内容?您可以直接将列表传递给您的方法,也可以使用 方法重载可能很有用,但如果您的参数顺序不正确,它实际上不是一个选项。如果您可以事先对对象列表进行排序,那么它可能是一个选项 然而,在我看来,传递对象列表的最简单方法是传递列表本身,而不是试图事先将

我有一个
方法
和一个
参数列表
,用于调用该方法。但是,参数列表的顺序可能不正确,并且可能包含太多/太少与方法签名匹配的参数


在我重新发明轮子之前,是否存在一个函数来调用带有我拥有的参数列表的方法,并且它尽可能地匹配方法签名的参数……可能是Spring中的某个内容?

您可以直接将列表传递给您的方法,也可以使用

方法重载可能很有用,但如果您的参数顺序不正确,它实际上不是一个选项。如果您可以事先对对象列表进行排序,那么它可能是一个选项


然而,在我看来,传递对象列表的最简单方法是传递列表本身,而不是试图事先将其分解。在这种情况下,您需要写出您的逻辑来在方法内部分解列表。此案例还将为您提供更多的测试功能,以查明列表中到底包含哪些内容。

否,解决问题的任何实现都需要外部信息,而只有
方法和
列表的提供者才会拥有这些信息

用这样的方法

void method (String name, String city, String parent) {}
列表

"Sotirios", "New York", "Alexander"
方法#invoke(..)
中的每个参数将放在哪里


只有你才能知道这些信息。

啊,我没想过。我的示例只会有不同的类型。我想我会写一些东西…@Cheetah你能做的最多的事情(实际上不知道顺序)是尽最大努力匹配类型(也考虑继承)。您可以对订单进行排序,然后选择排名第一的订单。