gpt4 book ai didi

java - 调用方法时要添加哪些参数

转载 作者:行者123 更新时间:2023-12-02 02:35:47 26 4
gpt4 key购买 nike

我在从另一个类调用方法时遇到问题。这是我正在使用的代码:

Contact[] database=players1();

System.out.println(sortalg[i]);
try {
Method method = Sorting.class.getMethod("selectionSort", Comparable[].class);
method.invoke(database);
}

这是我要调用的方法:

public static void selectionSort (Comparable[] data)
{
int min;

for (int index = 0; index < data.length-1; index++)
{
min = index;
for (int scan = index + 1; scan < data.length; scan++)
if (data[scan].compareTo(data[min]) < 0)
min = scan;

swap(data, min, index);
}
}

这是我得到的错误:

java.lang.IllegalArgumentException: wrong number of arguments

我必须添加哪些参数?

最佳答案

为什么使用反射来调用静态方法?假设 Contact 实现 Comparable,为什么不直接调用

Sorting.selectionSort(database);

?如果必须使用反射,则必须传递对象来调用方法,在您的情况下为 null:

 method.invoke(null, database);

参见this question

关于java - 调用方法时要添加哪些参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46360413/

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