java将参数传递给方法不兼容的类型
有人能告诉我我没看到什么吗。 从书本上练习。 创建一个名为SortingTest的类。在其中,创建一个方法,该方法接受int值数组作为参数,并将排序后的元素打印到终端。(最小元素优先)
在尝试编译时,我遇到了一个错误:不兼容的类型。 AbcArray无法转换为int[] 据我所知,我正在将int[]值传递给一个需要int[]值的方法。(如果我的错误如此明显,我道歉,我仍在学习)
public class AbcArray {
private int[] myArray;
public AbcArray(){
myArray = new int[]{55,58,57,54,56};
}
public int[] theValues(){
return myArray;
}
}
import java.util.Arrays;
public class SortingTest{
public SortingTest() {}
public void sortArray(int[] outsideArray){
Arrays.sort(outsideArray);
System.out.println(outsideArray);
}
}
# 1 楼答案
代码的第一个问题是
AbcArray
代码中的构造函数错误。你需要替换与
下一步是缺少您没有发布的代码。让我们假设它如下所示:
尝试构建此代码会导致
actual argument AbcArray cannot be converted to int[] by method invocation conversion
。之所以会发生这种情况,是因为您正在将整个类AbcArray
传递给方法sortArray
,以解决您需要从AbcArray
传递值的问题,这些值可以通过使用方法theValues()
获得。因此,您的代码如下所示:此外,不能将数组打印到标准输出中。在打印任何内容之前,先看一下
Arrays.toString()
方法