java - 另一个数组中的数组有什么缺点?

标签 java arrays multidimensional-array

假设我有这行代码:

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

我的问题是:

  • 为什么我没有看到程序员使用这样的东西,它有什么问题,java有另一种更好的方法来实现这个吗?

  • 如何获取所有值,包括(数组和矩阵)?

  • 内存如何给出矩阵在数组中的位置?

    如果您向我展示一个真实的例子,我将不胜感激。

最佳答案

该片段(原样)是非法的,因为整数数组只能包含整数,而不能包含整数数组。

如果将 b 声明为对象数组,则代码是合法的。您通常不会在程序中看到这样的代码,因为在容器中混合不同类型的对象很少有用(大多数情况下您需要特定类型对象的集合)并且存在潜在危险(您无法使用编译器来保证您不会意外地将一些无意的内容放入数组中)。

如何获取所有值?

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

内存如何给出矩阵在数组中的位置?

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

关于java - 另一个数组中的数组有什么缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15456188/

相关文章:

java - 如何在java中将输入的字符串传递给谷歌搜索

javascript - 按多个键对对象数组进行分组

c++ - C++ 中的动态矩阵

java - Native Messaging 主机尝试发送长度为 977472013 字节的消息

java - 获取 MultipartFile 的内容

python - NumPy 相当于 MATLAB size()

java - 从 ArrayList<HashMap<String, String>>> 获取键到另一个数组

c# - List<List<string>> 值到 string[][] 数组 C#

arrays - 下标值既不是数组,也不是指针,也不是 vector 。在C中使用结构体获取n个字符串的输入

java - 如何检查指定端口是否可以通信?