遇到问题w / Arraylist.toArray

时间:2017-03-19 23:37:36

标签: java arraylist

因此,以下是涉及的2个代码段:

有问题的arraylist宣言:

static ArrayList<byte[]> photolist;

有问题的数组:

byte[] phofin = new byte[x];

转换(错误来源):

PhotoRetrieve.photolist.toArray(phofin);

它给我的错误信息说:

The method toArray(T[]) in the type ArrayList<byte[]> is not applicable for the arguments (byte[])

然而,在此java docs page上:

.toarray有一个重载,它接受一个数组作为参数。我已经尝试了很多东西来解决这个问题,并且没有成功,可能是因为我是Java的新手而不是最好的@故障排除。欢迎所有回复。谢谢!

更新: 在声明中,当我尝试将类型更改为byte时,我收到此错误:

语法错误,插入“Dimensions”以完成ReferenceType

1 个答案:

答案 0 :(得分:1)

首先,您的ArrayList<byte[]>byte[]的列表。 Tbyte[],因此toArray(T[])toArray(byte[][])。例如。 byte[][] arrr = photolist.toArray(new byte[][0])

你想要做的事情有点复杂,因为你不能制作基元列表,所以你不能简单地使用ArrayList<byte> ... photolist.toArray(phofin),你需要使用ArrayList<Byte> ... photolist.toArray(new Byte[0])然后迭代Byte[]将值复制到phofin