可能重复:
在通配符类型 ArrayList 中添加元素
我不明白为什么编译器认为这段代码是错误的:
Pair<Manager> managerBuddies = new Pair<Manager>(ceo, cfo);
Pair<? extends Employee> wildcardBuddies = managerBuddies; // OK
wildcardBuddies.setFirst(lowlyEmployee); // compile-time error
有的方法Pair<? extends Employee>
有:
? extends Employee getFirst()
void setFirst(? extends Employee)
目前尚不清楚为什么我们不能设置值,因为Employee
是? extends Employee
. Java教程试图解释它,但我仍然有我的问题。有人可以澄清一下吗?