【发布时间】:2009-10-30 16:36:00
【问题描述】:
为什么是Object[].class.isAssignableFrom(String[].class) == true,而String[].getSuperClass()或getGenericInterfaces()却得不到Object[]?
我检查了JDK的来源,但我认为我自己无法得到答案。
目前,我知道 JDK 使用树来存储类之间的关系,并使用深度来指示其级别,Class::isAssignableFrom() 搜索了链,因此肯定数组在该树中。并且String[] 也连接到Object[]。
我可以说String[] 是Object[] 的子类吗?
或者它只是 Java 的另一个奇怪的东西?
【问题讨论】: