9

Angelika Langer の一般的な FAQから:

型パラメータの省略。

コンパイラは、ジェネリック型またはジェネリック メソッドの定義を見つけると、型パラメーターの出現箇所をすべて削除し、それらを左端の境界 (境界が指定されていない場合は Object 型) に置き換えます。

編集:この場合、私が理解しているように、左端の境界は、それが文字通り意味するもの、つまり境界のリストの最も左にあることを意味します。このポリシーが選択された理由を知りたいですか?

4

2 に答える 2

10

この場合、「左端」は専門用語ではありません。直訳すると「一番左」という意味です。これは単に、型パラメーターに次のようないくつかの境界 (制限) がある場合を意味します。

T extends Callable<Long> & Runnable

コンパイラは、出現するすべての型パラメーターTを、最も左にある境界 (この場合はCallable<Long>)に置き換えます。

アンジェリカの例のように、これは次のことを意味します。

private T task1, task2; 

は次のように置き換えられます。

private Callable task1, task2; 
于 2013-03-08T14:31:28.807 に答える