Exception in thread "main" java.lang.ArrayStoreException什么意思???

publicinterfaceIterator{booleanhasNext();Objectnext();}publicclassObjectSet{privateOb... public interface Iterator {
boolean hasNext();
Object next();
}
public class ObjectSet {
private Object[] objects;
private int next = 0;
public ObjectSet(int size){
objects = new ObjectSet[size];
}
public void add(Object element){
if(next < objects.length)
objects[next++] = element;
}
private class InternalIterator implements Iterator{
int index;
public InternalIterator(){
index = 0;
}
@Override
public boolean hasNext() {
return (index < objects.length);
}
@Override
public Object next() {
if (hasNext()) {
return objects[index++];
}
return null;
}
}
public Iterator getIterator(){
return new InternalIterator();
}
}
public class ObjectSetDemo {
public static void main(String[] args){
ObjectSet set = new ObjectSet(10);
for(int i = 1; i <= 10; i++){
set.add(i);
}
Iterator iterator = set.getIterator();
while (iterator.hasNext()) {
System.out.println(iterator.hasNext());
}
}
}
出现的异常是:Exception in thread "main" java.lang.ArrayStoreException:java.lang.Integer
at experiment_4.ObjectSet.add(ObjectSet.java:13)
at experiment_4.ObjectSetDemo.main(ObjectSetDemo.java:7)
我要求的是:出现这个异常的原因、解决办法。回答得好的话,可以适当加分
展开
 我来答
568145421
推荐于2018-02-27 · 知道合伙人软件行家
568145421
知道合伙人软件行家
采纳数:1353 获赞数:6756

向TA提问 私信TA
展开全部
你好,当你试图将错误类型的对象存储到一个对象数组时抛出的异常。例如,以下代码可生成一个 ArrayStoreException:
Object x[] = new String[3];
x[0] = new Integer(0);
就这么简单。
怎么避免呢?关键就是元素的内容要正确。
你看你的代码:
private Object[] objects;
....
objects = new ObjectSet[size];
很明显这里用父类的引用指向了子类的实现。
那么给每个元素赋值的时候只能付这个子类对象及这个子类的后代。
你又将OBJECT赋值给它,那么就必须向下转型。
鞁犾澑
高粉答主

2018-03-31 · 关注我不会让你失望
知道大有可为答主
回答量:192
采纳率:100%
帮助的人:31.4万
展开全部

1、NullPointerException是 java应用程序中最常见的一种异常,空指针异常。

2、空指针异常是一种运行时异常,发生在调用对象的方法或者属性的时候。

3、当对象为null时,调用其任何方法均会报NullPointerException。

4、最好的解决办法是在调用一个对象或者集合类时,先判断当前对象是否为null,为null进入其他的业务处理流程 。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
echo情已逝
2012-03-28 · TA获得超过283个赞
知道小有建树答主
回答量:391
采纳率:100%
帮助的人:90.6万
展开全部
只知道是数组异常。你检查一下你的object数组。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式