我使用Lists.partition從Google Guava,雖然我有一種感覺這是關於泛型在Java中的一般問題。使用通配符與Lists.partition和嵌套泛型類型
我可以這樣做:
public void doSomething(List<DataBean> ids) {
List<List<DataBean>> lists = Lists.partition(ids, MAX_ITEMS);
爲什麼我不能這樣做呢?
public void doSomething(List<? extends DataBean> ids) {
List<List<? extends DataBean>> lists = Lists.partition(ids, MAX_ITEMS);
我得到以下complilation錯誤:
Type mismatch: cannot convert from List<List<capture#1-of ? extends DataBean>> to List<List<? extends DataBean>>
簡單通配符時,你知道如何:-) –
提出一個解決方案@馬丁威爾遜 - 是的。現在你知道如何。 :) –