import java.util.*;
public class Tester2
{
public static void main(String[] args)
{
int[] array = new int[] {1,2,3,1,2,3};
System.out.println(Arrays.toString(deleteElement(array, 1)));
}
public static int[] deleteElement(int [] array, int target)
{
ArrayList<Integer> a1 = new ArrayList<Integer>();
for(int i=0; i<array.length; i++)
{
if (array[i] != target)
a1.add(array[i]);
}
int[] returnedArray = new int[a1.size()];
returnedArray = a1.toArray(returnedArray);
return returnedArray;
}
}
当我尝试编译此代码时,出现以下错误:
找到1个错误:
文件:/Users/Hyeunjoon/Desktop/CS/A4/Tester2.java [line:25]
错误:/Users/Hyeunjoon/Desktop/CS/A4/Tester2.java:25:找不到符号
symbol:方法toArray(int [])
location:class java.util.ArrayList
任何人都可以帮助我吗?我不明白为什么我会收到此错误
答案 0 :(得分:0)
忽略其他可能的改进,你有:
returnedArray = a1.toArray(returnedArray);
如果查看ArrayList<T>.toArray(T[])
的文档,您会发现它需要一个T
数组。在您的代码中,T
为Integer
。 int[]
不是Integer[]
。
您必须暂时将结果存储在Integer[]
中,然后逐个转换为int[]
(在这种情况下,您也可以避免Integer[]
男人完全)。