编译时的java错误不兼容类型
这是我的代码,我的问题是我不能编译它,我包括了我在下面得到的错误编译时的java错误不兼容类型,java,arrays,primes,Java,Arrays,Primes,这是我的代码,我的问题是我不能编译它,我包括了我在下面得到的错误 import java.util.*; public class util3_2 { public static boolean IsPrime(int p) { for (int i = 2; i < p; i++) { if (p % i == 0 && i !=
import java.util.*;
public class util3_2
{
public static boolean IsPrime(int p)
{
for (int i = 2; i < p; i++)
{
if (p % i == 0 && i != p)
return false;
}
return true;
}
public static int[] GetPrimes(int n)
{
List<Integer> arr = new ArrayList<>();
for (int j = 1; j <= n; j++)
{
if(IsPrime(j))
{
arr.add(j);
}
}
return Arrays.asList(arr);
}
}
import java.util.*;
公共类util3_2
{
公共静态布尔iPrime(int p)
{
对于(int i=2;i对于(int j=1;j您应该返回一个数组。通过调用列表“arr”上的toArray方法将列表转换为数组。您需要一个int[]
,但您提供的是一个列表
。它们不是一回事。将函数的返回值更改为List并返回arr本身。您永远无法从该列表中获得一个基元int
数组。
error: incompatible types
return Arrays.asList(arr);
^
required: int[]
found: List<List<Integer>>
1 error