Android Java,获取对象数组中对象数组的数据

时间:2018-07-12 08:17:09

标签: java android arrays object dimensions

我可以轻松地在对象数组中放入和取出整数数组数据:

Object[] ObjArr=new Object[]{1,"alo",3,new int[]{9,8,7} };
int[] out=ObjArr[3];

但是对象数组是不可能的

Object[] ObjArr=new Object[]{1,"alo",3,new Object[]{9,"elo",7} };
Object[] out=ObjArr[3];

如果我使用2维数组Object [] [],则所有元素都必须是Object Array类型。但是我需要多个变量类型。如何解决呢? 对象数组中的对象数组变成了对象,当尝试toString()时我得到了5,我可以将此ID链接到真实数据吗(我认为它是哈希码,无法获取我想要的数据)

1 个答案:

答案 0 :(得分:0)

您的第一个代码段也不应该编译:)

您需要广播。基本上,它告诉编译器您可以确定该东西(ObjArr[3])是这种类型(Object[]),否则,程序将崩溃。

Object[] out=(Object[])ObjArr[3]; // this will crash if ObjArr[3] is something else, like an int

如果ObjArr[3]不是Object[]对您的情况没有致命的影响(可以处理这种情况),则可以在投放之前进行检查:

if (ObjArr[3] instanceof Object[]) {
    Object[] out = (Object[])ObjArr[3];
    // continue with "out"
} else {
    // ObjArr[3] is not an Object[]. Handle this situation
}