7

我有一个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在转换之前检查 has 元素不应该抛出错误吗?

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

4

1 回答 1

19

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

所以,

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

public void convertToArray()
{
    int x = size();
    appArray = toArray(new Row[x]);
}
于 2013-02-27T19:04:12.697 回答