制作此方法时出现不兼容的类型错误消息。该方法假定在列表的指定索引处插入已标记的元素,但不会覆盖该位置处的任何现有数据。此方法确实允许在列表末尾添加第一个索引。例如,如果列表的尺寸为10,索引9是它的逻辑端但这种方法允许在索引10不兼容的类型? - Java
public void add(int index, java.lang.Object element)
{
int tempCap = myArray.length;
Object[] copyArray;
int count;
if(tempCap < index)
{
tempCap = tempCap * 2;
for(int i = 0; i < tempCap; i++)
{
copyArray[i] = myArray[i];
}
copyArray[index] = copyArray[element];
}
else
{
myArray[index] = myArray[element];
}
}
错误消息添加的元素:如果索引
BasicArrayList.java:53: incompatible types
found : java.lang.Object
required: int
copyArray[index] = copyArray[element];
^
BasicArrayList.java:57: incompatible types
found : java.lang.Object
required: int
myArray[index] = myArray[element];
^
已经被数据占用,假设阵列中有足够的容量,阵列应该转移以为新条目腾出空间。如果没有足够的容量,则应该将数组复制到新数组,并且新数组应该具有旧数组容量的两倍。
另外,我不确定它们为什么不相容。我需要使用包装类吗?我想在这些代码行中说“把这个元素,不管它是一个字符串,int,double还是char”放到这个数组的这个槽中。
如果'element'是一个对象,为什么你会像'int'一样使用它? – AntonH
再想一想...它是什么元素,以及'copyArray [element]'是什么意思? – Darkhogg
仔细阅读错误消息。你有什么类型,编译器需要什么类型?他们为什么不同意? – user2864740