重複の可能性:
List<Dog> は List<Animal> のサブクラスですか? Java のジェネリックが暗黙のうちにポリモーフィックではないのはなぜですか?
これらのクラスを宣言しました:
class Cereal{}
と:
public class Flakes extends Cereal{
public static void main(String[] args) {
List<Cereal> newList = new ArrayList<Flakes>();
}
}
しかし、これらの Java ソース コードをコンパイルしようとすると、次のコンパイル エラーが表示されます。
Type mismatch: cannot convert from ArrayList<Flakes> to List<Cereal>
私の質問は次のとおりです。なぜその変換ができないのですか? タイプセーフルールに違反していますか?または?
ご回答ありがとうございます。