製作此方法時出現不兼容的類型錯誤消息。該方法假定在列表的指定索引處插入已標記的元素,但不會覆蓋該位置處的任何現有數據。此方法確實允許在列表末尾添加第一個索引。例如,如果列表的尺寸爲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