に考えるには真実ではない、それは言う:は、Arrays.asListの制限は()この本でのJava第4版
は、Arrays.asList(の制限)は、それが最良の推測を取ることです約 リストの結果のタイプであり、 に割り当てられているものには注意しません。
本はJAVAによるブルースEckel氏この本のページに示すコードするただし、次のコードは正常に動作している
、反対280
public class Main{
public static void main(String[] args) {
List<Snow> snow = Arrays.asList(new Light(), new Heavy());
}
}
class Snow {}
class Powder extends Snow {}
class Light extends Powder {}
class Heavy extends Powder {}
のJava 1.8、IntelliJので考えるです、Windows 7
いずれかの考えがあります。
Powder、Light、HeavyクラスはSnowクラスのプロパティを取得していますが、それは明らかにうまく動作します – Ajinkya
2つのこと:まず、Listインターフェイスに少なくとも準拠しているので、問題はありません。何が問題になると思いますか?ここでは何もすぐに、これは明らかに大規模な間違っていることを飛び出していない... – Makoto
@Makotoは申し訳ありませんが、私は質問を更新しました。 –