将 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的主要内容,如果未能解决你的问题,请参考以下文章
我需要将 Array 转换为 ArrayList 帮助,不知道该怎么做? [复制]