java - 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 链接到真实数据吗(我认为它是哈希码,无法获得我想要的数据)
解决方案
您的第一个代码段也不应该编译:)
你需要一个演员表。它基本上告诉编译器你确定这个东西(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
}
推荐阅读
- sql - Sql 按状态分组
- python - 在 django 中不使用 url 来模拟 http 请求的最佳方法
- javascript - Javascript:如何从字符串中提取英文单词或汉字?
- mysql - 根据mysql表中的非空值获取记录
- python - 对大型数据框中的多个列使用相同的名称
- android - 无法将 Unity ARCore 项目作为 android .AAR 库运行
- swift - 在 PDFView SWIFT 中打开存储在本地内存中的 PDF
- php - 单个数组中允许使用相同的键
- javascript - axios 正在阻止其他方法被执行
- django - 如何使用 django 信号 post_save 保存所有相关数据