6
從Oracle's documentation of Type Inference爲什麼類型推斷算法試圖找到最具體的類型?
類型推斷是看每一個方法調用 確定類型 參數(或參數),使調用應用Java編譯器的能力和相應的聲明。推理算法確定參數的類型,並且如果可用,則確定結果被分配或返回的類型。 最後,推理算法試圖找到最適合所有參數的特定類型 。
爲了說明這最後一點,在下面的例子中,推理 確定第二個參數被傳遞到拾取方法的類型爲可序列化的 :
static <T> T pick(T a1, T a2) { return a2; }
Serializable s = pick("d", new ArrayList<String>());
爲什麼該算法試圖找到最具體的類型?
爲什麼不應該嗎? – 2013-02-26 07:01:13
@defaultlocale回答這個問題的一種方法是回答爲什麼不應該呢?如果你知道爲什麼不應該請回答,我會很高興地接受它。 – Geek 2013-02-26 07:02:37
,因爲如果沒有方法重載,就不會有這樣的事情 – radai 2013-02-26 07:05:07