gpt4 book ai didi

java - 尝试使用对象调用方法,但无法找出要放置的参数

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

我在 EarthquakeDataSet 类中有一个名为 public void mergeSort() 的方法,我在其中创建一个对象并尝试从我的 MergeSorter 类调用 sort() 方法。 MergeSorter 类本身不是我的代码,它是由其他人编写的,但我应该调用 sort() 并使用其他人编写的此类。我得到的确切错误是:“MergeSorter 类型中的方法 sort(E[],Comparator ) 不适用于参数”

我在 EarthquakeDataSet 中的方法如下所示:

public void mergeSort(){
MergeSorter obj = new MergeSorter();
obj.sort();

}

我尝试调用的 MergeSorter 中的方法调用了另一个方法,该方法也调用了另一个方法。这是我的 MergeSorter 类。

MergeSorter 中的三个方法如下所示:

public static <E> void sort(E[] a, Comparator<? super E> comp) {
mergeSort(a, 0, a.length - 1, comp); //calling mergeSort method
}

private static <E> void mergeSort(E[] a, int from, int to, Comparator<? super E> comp){
}

private static <E> void merge(E[] a, int from, int mid, int to, Comparator<? super E> comp) {

}

里面有相当多的代码,但我只是在使用这些参数调用时遇到问题。

最佳答案

如错误消息和您发布的方法代码所示,sort 方法采用两个参数 - 首先是要排序的 事物 数组,其次是对这些事物的Comparator来定义顺序。

您尝试不带参数调用 sort(),这是不合法的并且无法编译。 (即使它确实编译了 - 您期望它做什么?它到底会排序什么?)

您可能需要更新自己的 mergeSort 方法以将要排序的数据作为参数。如果它是类中的字段,则这可能不是必需的 - 但无论哪种方式,您都需要将该数据传递到 MergeSorter.sort 中。

关于java - 尝试使用对象调用方法,但无法找出要放置的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19276459/

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