0

この方法を考えると:

public static <E extends Number> List<E> process(List<E> num)

私はこれをしたい:

ArrayList<Integer> input = null ;
ArrayList<Integer> output = null ;

output = process(input);

List<Integer>例外が発生します: タイプの不一致: からに変換できませんArrayList<Integer>

私はそのような正しいものを持つことができることを知っています:

List<Integer> list = new ArrayList<Integer>;

ここで機能しないのはなぜですか?

4

2 に答える 2

4

問題は戻り値の型です。process()a を返し、List<E>それをに詰め込もうとしていますArrayList<E>

于 2012-12-13T21:22:55.313 に答える
0

プロセスメソッドは、インターフェイスリストの実装を返す必要があります。これは、ArrayListと互換性のないものである可能性もあります。LinkedList。コンパイラはそれに気づき、それを禁止します。

于 2012-12-13T21:27:05.547 に答える