2017-07-17 13 views
1

オブジェクトとその他のものをキャストするというこのコンセプトを扱う際、私は非常に混乱しています。あなたが私のコードを見て、私がこのエラーの受信を止めるためにできることを私に手がかりにしてくれたら、それは素晴らしいことでしょう。ここでUnorderedListADTからUnorderedVectorを作成しますが、チェックされていないキャストエラーが発生する

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 

は(ただし、まだ未確認のキャストエラーを受信)最初の応答の提案の後、私の第二の試みである:

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 

答えて

0

私は、「ストレージ」の定義を参照していないが、私は仮定しますそれが配列であることを示します。 1つの型の配列を別の型の配列にキャストすることはできません。 Arrayなどのスーパークラスにのみキャストすることができます。

+0

お返事ありがとうございます。私はあなたのフィードバックでこれを解決するために私ができることを見てみるつもりです。 – ggx7

+0

こんにちは、私はいくつかのコードを変更し、それを見てみることを望んでいた、私はジェネリック型の配列の新しいオブジェクトを作成temp – ggx7

関連する問題