0
我有一個對象引用,它可能是也可能不是數組。它可以是多維數組。我想查找組件類型和長度數組維度。如何查找數組類型及其對於多維數組的維數對於對象的引用
我到目前爲止所嘗試的是從object.getClass()
獲取對象的運行時類的類型,然後計算'['
的數量。但我再也不知道數組的維數。 我想知道是否可以有更清潔的方式。
PS: - 我有一個簡單的對象引用
我有一個對象引用,它可能是也可能不是數組。它可以是多維數組。我想查找組件類型和長度數組維度。如何查找數組類型及其對於多維數組的維數對於對象的引用
我到目前爲止所嘗試的是從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));
甚至更好,使用['類#isArray'](http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html#isArray--)在如果對象引用不是數組。 –
而且我還需要維度 –
@AbhinavKumar您可以通過多次調用方法並使用計數器來獲得維度... –