重複の可能性:
ワイルドカードタイプ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チュートリアルで説明しようとしますが、まだ質問があります。誰かが明確にしてくれませんか?