java.lang.System.arraycopy的java.lang.ArrayStoreException(Native方法)

时间:2013-12-04 12:23:58

标签: java

        int toSize=toMailIds.size();
        InternetAddress[] address=new InternetAddress[toSize];
        address=toMailIds.toArray(address);

这里toMailIds是arraylist。

我得到以下异常。

java.lang.ArrayStoreException

2 个答案:

答案 0 :(得分:2)

在这种情况下你将不得不使用循环:

int toSize=toMailIds.size();
InternetAddress[] address=new InternetAddress[toSize];

for (int i = 0; i < toSize; i++) {
    address[i] = new InternetAddress(toMailIds.get(i));
}

如果列表存储字符串,toArray方法将不会自动创建InternetAddress个对象。

答案 1 :(得分:1)

address=toMailIds.toArray();这就够了但address数组的类型应为Object[]

实施例

List<String> list=new ArrayList<>();
Object[] atr=list.toArray();