将 ArrayList 转换为 Array 抛出 java.lang.ArrayStoreException

Posted

技术标签:

【中文标题】将 ArrayList 转换为 Array 抛出 java.lang.ArrayStoreException【英文标题】:Convert ArrayList to Array throws java.lang.ArrayStoreException 【发布时间】:2013-02-13 17:34:22 【问题描述】:

我有一个方法 convertToArray()ArrayList 转换为数组。每次将元素添加到ArrayList 时,我都想调用此方法。

public class Table extends ArrayList<Row>

public String appArray[]; //Array of single applicant details
public String tableArray[][]; //Array of every applicant
/**
 * Constructor for objects of class Table
 */
public Table()



public void addApplicant(Row app)

    add(app);
    convertToArray();


public void convertToArray()

    int x = size();
    appArray=toArray(new String[x]);

当我调用 addApplication(Row app) 方法时,我收到错误:java.lang.ArrayStoreException

所以我将我的addApplicant() 方法更改为:

 public void addApplicant(Row app)
 
    add(app);
    if (size() != 0)
    convertToArray();

我收到相同的错误消息。任何想法为什么?我想如果它在转换之前检查 ArrayList 是否有元素不应该抛出错误?

如果需要,我可以提供完整的错误

【问题讨论】:

它可能会帮助你***.com/questions/8849163/… 【参考方案1】:

抛出 ArrayStoreException 表示尝试将错误类型的对象存储到对象数组中。

所以,

public Row[] appArray; // Row - because you extend ArrayList<Row>

public void convertToArray()

    int x = size();
    appArray = toArray(new Row[x]);

【讨论】:

以上是关于将 ArrayList 转换为 Array 抛出 java.lang.ArrayStoreException的主要内容,如果未能解决你的问题,请参考以下文章

如何将 ArrayList 转换为 Array [重复]

我需要将 Array 转换为 ArrayList 帮助,不知道该怎么做? [复制]

Java中 ArrayArrays与ArrayList

HQL 抛出 ArrayList 无法转换为 org.apache.hadoop.io.Text

将 JSONarray 转换为 ArrayList

在 JSP 中从 Object ArrayList 转换为 Object Array