我对这段代码感到困惑
String[][] str=new String[2][3];
Object[] obj=str;
这编译得很好。因为 Object 是父类(super class) String 是子类
但是下面的代码会产生错误
class Ex { }
class Ex1 extends Ex { }
class ExTest {
public static void main(String[] args)
{
Ex1[][] ex1=new Ex1[2][3];
Ex[] ex=ex1;
}
}
但是这段代码为什么会产生错误
最佳答案
它编译是因为 obj
现在将包含两个一维 String[]
对象。
以下所有内容都会编译:
String[][] str = new String[2][3];
Object obj1 = str;
Object[] obj2 = str;
Object[][] obj3 = str;
关于java - 将二维字符串数组分配给一维对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5298553/