2017-07-17 5 views
1

Je suis très confus au moment de traiter ce concept de lancer des objets et autres joyeusetés, mais je crois que je suis très proche d'être fini. Si vous pouviez jeter un oeil à mon code et me dire ce que je pourrais faire pour arrêter de recevoir cette erreur, ce serait génial.Faire un UnorderedVector à partir d'un UnorderedListADT, mais obtenir une erreur de cast décochée

public E remove(int position){ 
    position -= 1; 
    if(outOfBounds(position)) 
     throw new RuntimeException("Invalid position."); 
    E[] temp; 
    temp = (E[])storage[position];// around here is where I receive the error 
    currentSize--; 
    shiftLeft(position); 
    return temp[position]; 
}// DONE 

Voici ma deuxième tentative après la première suggestion de réponse (cependant, recevant encore une erreur de fonte non contrôlée):

public E remove(int position){ 
    position -= 1; 
    if(outOfBounds(position)) 
     throw new RuntimeException("Invalid position."); 
    E[]temp = (E[])new Object[maxSize]; 
    temp = (E[])storage[position]; 
    currentSize--; 
    shiftLeft(position); 
    return temp[position];}// DONE 

Répondre

0

Je ne vois pas la définition de « stockage », mais je suppose que c'est un tableau. Vous ne pouvez pas convertir un tableau d'un type en un tableau d'un autre type. Vous pouvez uniquement lancer Array vers une super-classe, telle que Object.

+0

Merci d'avoir pris le temps de répondre. Je vais essayer de voir ce que je peux faire pour résoudre cela avec vos commentaires. – ggx7

+0

Bonjour, j'ai changé de code et j'espérais que vous pourriez jeter un coup d'oeil, j'ai fait un nouvel objet de type tableau générique nommé temp – ggx7