数组在另一个数组中的缺点是什么?

时间:2013-03-17 00:05:09

标签: java arrays multidimensional-array

假设我有这行代码:

 Object [] b = {3,new int[]{12,34,34},new int[][]{{1,2},{2,3}}};

我的问题是:

  • 为什么我没有看到程序员使用这样的东西有什么问题,剂量java有另一种更好的方法来实现它?。
  • 如何获取所有值,包括(数组和矩阵)?
  • 内存如何为数组中的Matrix提供位置?

    如果你给我一个真实的例子,我将感激不尽。

1 个答案:

答案 0 :(得分:2)

该片段(最初的原因)是非法的,因为一个int数组只能包含 整数,而不包含整数数组。

如果您将b声明为 Objects 的数组,则代码是合法的。你不倾向于在程序中看到这样的代码,因为在容器中混合不同类型的对象很少有用(通常你想要一个特定类型的对象的集合)并且有潜在危险(你不能使用编译器来保证你不小心把一些无意的东西放进了阵列里。)

如何获取所有值?

您可以使用使用反射的递归方法或instanceof运算符来检查当前元素是否为数组。

内存如何为阵列中的Matrix提供位置?

Java没有矩阵,只有包含指向其他数组的指针的数组。