加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 将文字数组指定给对象变量

发布时间:2020-12-15 02:14:49 所属栏目:Java 来源:网络整理
导读:请考虑以下代码: Object obj = {}; 这会导致以下错误: Type mismatch: cannot convert from Object[] to Object 但是,根据Java标准every Array is an Object: In the Java programming language,arrays are objects (§4.3.1),are dynamically created,an
请考虑以下代码:

Object obj = {};

这会导致以下错误:

Type mismatch: cannot convert from Object[] to Object

但是,根据Java标准every Array is an Object:

In the Java programming language,arrays are objects (§4.3.1),are dynamically created,and may be assigned to variables of type Object (§4.3.2). All methods of class Object may be invoked on an array.

除此之外,以下代码段编译没有任何问题:

Object [] arr = {};
Object obj = arr;

问题:我在第一个代码示例中缺少什么,即为什么它不是有效的?

P.S.:我几乎肯定有人已经问过这个问题,因为它看起来很基本.但是,我既没有在谷歌也没有找到任何有用的结果(也许是因为在搜索中忽略了方括号?).如果有重复,我错过了,那么请随时关闭我的问题.
为了记录,我检查了以下问题.虽然他们的头衔似乎很有希望,但他们都处理其他类型的问题,或者没有包含我的问题的答案:

> Question 1
> Question 2
> Question 3
> Question 4
> Question 5
> Question 6

解决方法

内联数组初始化只能用于数组类型声明 – 它是语言语法的一部分.

在java 8中,这一行

Object o = {};

不会给出您报告的编译错误.相反,它给出:

Array initializer not allowed here

数组初始值设定项只能显示为数组的初始值.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读