【发布时间】:2016-09-18 14:37:56
【问题描述】:
考虑以下代码:
Object obj = {};
这会导致以下错误:
Type mismatch: cannot convert from Object[] to Object
但是,根据 Java 标准every Array is an Object:
在 Java 编程语言中,数组是对象(第 4.3.1 节),是动态创建的,并且可以分配给 Object 类型的变量(第 4.3.2 节)。 Object 类的所有方法都可以在数组上调用。
除此之外,下面的 sn-p 编译没有任何问题:
Object [] arr = {};
Object obj = arr;
问题:我在第一个代码示例中遗漏了什么,即为什么它无效?
P.S.:我几乎可以肯定有人已经问过这个问题了,因为它看起来很基础。但是,我在此处和 Google 中都找不到任何有用的结果(可能是因为搜索中忽略了方括号?)。如果有重复,我错过了,那么请随时关闭我的问题。 为了记录,我检查了以下问题。虽然他们的标题看起来很有希望,但他们都在处理其他类型的问题,或者没有包含我的问题的答案:
【问题讨论】: