类型安全:类型 Class[] 的表达式需要未经检查的转换以符合 Class<Animal>[]

Type safety: The expression of type Class[] needs unchecked conversion to conform to Class<Animal>[]

我在编译该行时收到此警告。

private static Class<Animal>[] animals = new Class[] { Human.class, Dog.class, Cat.class };

这是什么意思?如何纠正?

这意味着,编译器不知道这个 Class 是否得到了分配给它的 Animal Classes。例如。它不知道 Human.class 等是否是 Animal.class 的子类型。 Class<>[]{Classes...} 应该可以工作