将ArrayList转换为数组抛出java.lang.ArrayStoreException
我有一个方法将ArrayList转换为数组抛出java.lang.ArrayStoreException,java,arrays,exception,arraylist,throws,Java,Arrays,Exception,Arraylist,Throws,我有一个方法convertToArray(),它将ArrayList转换为数组。每次将元素添加到ArrayList时,我都要调用此方法 public class Table extends ArrayList<Row> { public String appArray[]; //Array of single applicant details public String tableArray[][]; //Array of every applicant /** * Constr
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]);
}
我收到了相同的错误消息。你知道为什么吗?我想如果它在转换之前检查ArrayList
是否包含元素,那么不应该抛出错误
如果需要,我可以提供完整的错误信息
引发ArrayStoreException以指示试图将错误类型的对象存储到对象数组中
所以
public Row[]appArray;//行-因为您扩展了ArrayList
公共无效转换阵列()
{
int x=大小();
appArray=toArray(新行[x]);
}
这可能会对您有所帮助
public void addApplicant(Row app)
{
add(app);
if (size() != 0)
convertToArray();
}
public Row[] appArray; // Row - because you extend ArrayList<Row>
public void convertToArray()
{
int x = size();
appArray = toArray(new Row[x]);
}