我编译:
Integer [ ] x = (Integer [ ]) new Object[100];
成功了。 我不知道为什么?
它在编译时工作,因为 Integer 是一个对象,编译器理解这是可能的,因为它们都来自同一个继承分支。 您也可以尝试使用
Integer [ ] y = (Integer [ ]) new Number[100];