首页 > 解决方案 > Android Java,获取Object Array里面的Object Array的数据

问题描述

我可以轻松地在 Object Array 中放入和取出 Integer Array 数据:

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];

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

标签: javaandroidarraysobjectdimensions

解决方案


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

你需要一个演员表。它基本上告诉编译器你确定这个东西(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
}

推荐阅读