假设我有这行代码:
Object [] b = {3,new int[]{12,34,34},new int[][]{{1,2},{2,3}}};
我的问题是:
内存如何为数组中的Matrix提供位置?
如果你给我一个真实的例子,我将感激不尽。
答案 0 :(得分:2)
该片段(最初的原因)是非法的,因为一个int数组只能包含 整数,而不包含整数数组。
如果您将b
声明为 Objects 的数组,则代码是合法的。你不倾向于在程序中看到这样的代码,因为在容器中混合不同类型的对象很少有用(通常你想要一个特定类型的对象的集合)并且有潜在危险(你不能使用编译器来保证你不小心把一些无意的东西放进了阵列里。)
如何获取所有值?
您可以使用使用反射的递归方法或instanceof
运算符来检查当前元素是否为数组。
内存如何为阵列中的Matrix提供位置?
Java没有矩阵,只有包含指向其他数组的指针的数组。