次の方法がある場合:
public <U extends Number> void doSomething(List<U> l){
}
その後type erasure
、コンパイラが原因でになりdoSomething(List<Number> l)
ます。右?
この場合、これと一緒に次のことを宣言できないのはなぜですか。
public void doSomething(List<?> l){
}
この2番目の方法ではありませんtype erased
かdoSomething(List<Object> l)
?これら2つのメソッドで同じ消去のコンパイラエラーが発生するのはなぜですか?