gpt4 book ai didi

java - 通过排列的动态循环量

转载 作者:行者123 更新时间:2023-11-30 11:16:17 24 4
gpt4 key购买 nike

我有一个程序可以动态访问不同的方法,每个方法都有不同数量的参数。我需要找到一种方法来排列这些参数的数千种不同排列,但我不确定如何动态循环这些排列。

例如,对于具有两个参数的函数,我可以像这样遍历排列:

public static void main(String[] args) {
List<Object[]> params = new ArrayList();
params.add(new Integer[]{1,2,3});
params.add(new Boolean[]{false,true});

runCalculation("function1",params);
}

public void runCalculation(String functionName, List<Object> parameters){

for(Object i : parameters.get(0)){
for(Object j : parameters.get(1)){
//Do reflection function call with (i,j) as parameters
}
}
}

但是如果我要使用 3 个参数运行下一个函数,这将不再遍历所有排列。如何使用动态数量的 for 循环来正确处理包含参数值的数组列表?我认为递归是实现这样的东西的唯一方法,但我仍在努力想出一个正确的解决方案,该解决方案将正确地允许每个函数的动态参数数量,然后是这些参数的不同类型。

最佳答案

public void runCalculation(String functionName, List<Object> ... parameters){

for(List<Object> list : parameters)
{
//Do reflection function call with obj as parameter
}
}

它叫做 varargs , 也尝试使用 enhanced for - 它更易于使用并且开销很小

关于java - 通过排列的动态循环量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24944454/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com