如何查找对象引用的多维数组的数组类型及其维度



我有一个Object引用,它可能是一个数组,也可能不是。它可以是多维数组。我想找到组件类型和数组尺寸的长度。

到目前为止,我所尝试的是从object.getClass()获得对象的运行时类类型,然后计算'['的数量,但我又不知道数组的尺寸。我想知道是否有更干净的方法。

PS:-我有一个普通的对象引用

使用Class#getComponentType()

Object ref = new int[2][3][4];
System.out.println(ref.getClass().getComponentType());

它将返回数组类型的Class对象,如果它是一个数组。否则它将返回null。您可以对多维数组继续这样做,直到它返回null

您可以使用Array#getLength(Object)来查找每个单独维度的长度。

System.out.println(Array.getLength(ref));

相关内容

  • 没有找到相关文章

最新更新