1
編譯該行時出現此警告。類型安全性:Class []類型的表達式需要進行未經檢查的轉換以符合類<Animal> []
private static Class<Animal>[] animals = new Class[] { Human.class, Dog.class, Cat.class };
這是什麼意思?如何糾正?
編譯該行時出現此警告。類型安全性:Class []類型的表達式需要進行未經檢查的轉換以符合類<Animal> []
private static Class<Animal>[] animals = new Class[] { Human.class, Dog.class, Cat.class };
這是什麼意思?如何糾正?
這意味着,編譯器不知道這個類是否獲得分配給它的Animal類。例如。它不知道Human.class等是Animal.class的子類型。 Class<>[]{Classes...}
應該可能工作
你應該使用可能使用'Class <?擴展動物> []'。如果你使用'Class []',你暗示數組中的每個元素都是'Animal.class'。但是,Class <? extends Animal> []'表示數組中的每個元素都是Animal的子類。 –
Jeffrey
請勿使用數組。使用「集合」。 –
另請參閱您的選項[這裏](http://stackoverflow.com/questions/897251/how-do-i-use-arrays-of-generic-types-correctly)。 –