为什么这段代码会编译?
Object[] object = new String[5][5];
Run Code Online (Sandbox Code Playgroud)
我的意思是,如果我创建的数组对象的尺寸不同于引用变量中指定的数组,我为什么要这样做?
这不编译:
String[] strings = new String[5][5];
Run Code Online (Sandbox Code Playgroud)
那么这里发生了什么?
第一个可以编译,因为它String[]是一个Object. 第二个无法编译,因为String不是String[].
Object[] object = new String[5][5]; // Means each element is an String[] which is an Object as well.
String[] strings = new String[5][5]; // Also Means each element is an String[] which is not same as just String.
Run Code Online (Sandbox Code Playgroud)