1. 程式人生 > >泛型裏的super和extend

泛型裏的super和extend

effective 網上 produce super t ould pro ive rod xtend

<? extends T>和<? super T>應該怎麽用?

網上看到一些比較難懂的回答,但是在EffectiveJava(2th Edition)遇到簡單明了的解釋:

If your parameter is a producer, it should be <? extends T>, if it‘s a consumer it has to be <? super T>

即,做生產者的方法的參數用extends,消費者的方法的參數用super。

這裏翻譯一下:

<? extends T> 為 T的某個子類型 的 類

<? super T> 為 T的某種超類 的 類

泛型裏的super和extend