我有一个方法 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
是否有元素,就不应该抛出错误?
如果需要,我可以提供完整的错误信息
最佳答案
ArrayStoreException thrown to indicate that an attempt has been made to store the wrong type of object into an array of objects.
所以,
public Row[] appArray; // Row - because you extend ArrayList<Row>
public void convertToArray()
{
int x = size();
appArray = toArray(new Row[x]);
}
关于java - 将 ArrayList 转换为 Array 抛出 java.lang.ArrayStoreException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15120089/