JAVA:为什么Object[]obj={new Object[1],new Object[2]}而不是其他类?

JAVA:为什么Object[]obj={new Object[1],new Object[2]}而不是其他类?,java,Java,您好,我已经看到允许使用Object[]obj={new Object[1],new Object[2]},我不知道为什么会这样。如果我使用其他类而不是Object,它会产生错误(比如Integer或ArrayList,甚至我的类比如grandge、Dad和Me)?obj在这里只是一个对象数组。另外,数组也是一个对象,那么问题出在哪里呢。对象是Java中任何类的基类 Object [] obj = {Element Should be Objects} 因此,数组也是一个对象。您的签名满足条件

您好,我已经看到允许使用
Object[]obj={new Object[1],new Object[2]}
,我不知道为什么会这样。如果我使用其他类而不是
Object
,它会产生错误(比如Integer或ArrayList,甚至我的类比如
grandge
Dad
Me
)?

obj
在这里只是一个对象数组。另外,
数组
也是一个
对象
,那么问题出在哪里呢。对象是Java中任何类的基类

Object [] obj = {Element Should be Objects}

因此,
数组
也是一个对象。

您的签名满足条件,任何对象的数组


因为
新对象[1]
是一个
数组
,它也是一个
对象
,因为每个
类都扩展了对象

,因为即使是
对象[]
也是一个对象,所以它不会抛出任何错误。但实际上,您实际做的是将数组分配给
对象

Object[][] obj = {new Object[1],new Object[2]}; // proper way
Object[] obj = {new Object[1],new Object[2]}; // this works because Object[] is treated as an Object
这在
String
或其他任何情况下都不起作用,因为
String
数组中的每个元素必须是字符串而不是
String
数组

String[][] obj = {new String[1],new String[2]}; // proper way as its a 2d array where each element in itself is a 1d array.
String[] obj = {new String[1],new String[2]}; // this won't because each element in String array must be a String
String[] obj = {new String("1"),new String("2")}; // this will work as each element is a string

Object[]obj={可以有任何类型的对象,因为默认情况下每个类都扩展对象类}

X[]obj={X类对象数组}

例如:

String[]obj={字符串对象数组}

Granpa[]gandobj={Granpa对象数组}

String[][] obj = {new String[1],new String[2]}; // proper way as its a 2d array where each element in itself is a 1d array.
String[] obj = {new String[1],new String[2]}; // this won't because each element in String array must be a String
String[] obj = {new String("1"),new String("2")}; // this will work as each element is a string