为什么“Integer [ ] x = (Integer [ ]) new Object[100]; ”会编译?

问题描述 投票:0回答:1

我编译:

Integer [ ] x = (Integer [ ]) new Object[100];

成功了。 我不知道为什么?

java compilation
1个回答
0
投票

它在编译时工作,因为 Integer 是一个对象,编译器理解这是可能的,因为它们都来自同一个继承分支。 您也可以尝试使用

Integer [ ] y = (Integer [ ]) new Number[100];
它也应该有效,因为 Integer 扩展了 Number。

© www.soinside.com 2019 - 2024. All rights reserved.