別のクラスからメソッドを呼び出すときに問題があります。これは私が使用しているコードです:メソッドを呼び出すときに追加する引数
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:引数の数が正しくありません
どのような引数を追加する必要がありますか?
を参照してください、あなたの 'Contact'クラスがどのようなものが見えますか? –
'Contact'は' Comparable'を実装していますか? – SilverNak
このメソッドは 'public static 'なので、ここではリフレクションを使う必要はありません。単に 'ClassName.selectionSort(database)'を呼び出してください。 – QBrute