<分区>
Possible Duplicate:
Adding an element inside a wildcard type 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 教程试图解释它,但我仍然有疑问。
有人可以澄清一下吗?