public LoopQueue(int capacity){
data = (E [])new Object[capacity+1];//+1 队列中预留一个空间 用于比较是否队列满
front = 0;//初始化头指针
tail = 0;
size = 0;
}
public void enquene(E e){
//队列满
// if ((tail+1)%data.length==front){
// ensize(2*getCapacity());
// }
data[tail] = e;
tail = (tail+1)%data.length;
size++;
}
正常使用初始化构造 调用方法添加 直接报错,定位到enquene(E) data[tail] = e; 但是看了下 没有问题 泛型都定义了。
最后定位到自己手贱引入了别的Object类
删除就没有问题了。ArrayStoreException异常是由于添加的对象类型不符合。自己new的是org,omg.CORBA.Object类,可想而知自己添加Integer类 不是Integer类的父类 所以就报错了。