我有一个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));