如果我有以下方法:什麼是「?」的類型刪除?
public <U extends Number> void doSomething(List<U> l){
}
然後由於type erasure
編譯器將使其對doSomething(List<Number> l)
。對?
如果是這樣的話,那麼爲什麼它是不可能的聲明與此相伴如下:
public void doSomething(List<?> l){
}
這不是第二個方法,type erased
到doSomething(List<Object> l)
?爲什麼我會爲這兩種方法得到相同擦除的編譯器錯誤?
你可以有實際的類型,周圍的工作:\t公共無效SETLIST(StringList的字符串){ \t} \t公共無效SETLIST(名單> OBS){ \t} \t private class StringList extends ArrayList { \t} –
keuleJ
2012-08-15 15:39:22