当你试图将错误类型的对象存储到一个对象数组时抛出的异常。例如,以下代码可生成一个 ArrayStoreException:
Object x[] = new String[3];
x[0] = new Integer(0);
就这么简单。
怎么避免呢?关键就是元素的内容要正确。
你看你的代码:
private Object[] objects;
....
objects = new ObjectSet[size];
很明显这里用父类的引用指向了子类的实现。
那么给每个元素赋值的时候只能付这个子类对象及这个子类的后代。
你又将OBJECT赋值给它,那么就必须向下转型。
https://zhidao.baidu.com/question/402292402.html?entrytime=1544381277926&word=arraystoreexcpetion&ms=1&rid=10634432764015004440