2011-01-11 6 views
0

intを返そうとすると、それはオブジェクトであり、intに返すことはできません。LinkedListに格納した後にint []を返します

public class CostMatrix { 

LinkedList matrix = new LinkedList<int[]>(); 

CostMatrix() { 
} 

void addToMatrix(int[] toAdd) { 
    matrix.add(toAdd); 
} 

int[] returnCost(int pos){ 

    return matrix.get(pos) 
} 

}

答えて

3

あなたは、宣言の型パラメータを逃しています。

LinkedList matrix - >LinkedList<int[]> matrix

このエラーが発生した理由を理解するには、http://download.oracle.com/javase/1.5.0/docs/guide/language/generics.html

で「生タイプ」の検索は基本的に、あなたのコードが正しくパラメータ化されたリストを作成しますが、とプロパティに割り当て生のタイプ。

その後、コンパイラはそのプロパティがLinkedListであることを知り、その内容は任意のタイプのObjectであることを前提としています。

関連する問題