Java : Why can't I declare an array as a simple Object?

标签 java arrays multidimensional-array

在Java中,我可以编译

Object[] obj = {new Object[1], new Object[2]};

但是我无法编译

Object obj = {new Object(), new Object()};

在第一个示例中,我声明了一个对象一维数组,并为其分配了一个二维数组。在第二个中,我声明了一个 Object 并为其分配了一个一维数组。

如果 Java 数组扩展 Object,为什么第二个代码片段不能编译?为什么是第一个?

最佳答案

将数组分配给对象不是问题,但您必须像这样创建数组

Object obj = new Object[] { new Object(), new Object[2] };

否则编译器将不知道它是一个对象数组而不是其他类型的数组。

关于Java : Why can't I declare an array as a simple Object?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14664790/

相关文章:

Java RMI - 客户端到服务器调用

java - 防止第一个字符为空格的字符串模式

java正则表达式匹配特定的url

c++ - ostream 运算符<< 无法正常工作

php - 获取 PHP 数组中的 MySQL 列名

javascript - 在另一个数组中查找数组的数组...

java - 帕斯卡三角形定位

java - 如何在java中分割一个值包含分隔符的字符串?

php - mysql中的多维表

c - C : how to pass them as an argument to a function, 中未调整大小的矩阵在我的代码中操作并返回它们?