getDimensions
配列の要素数を取得する。
多次元配列の場合、各次元の要素数が配列で返る。
Arrays#newInstance(Class, int[])で使用する。
作ったきっかけは何だったかな・・・
public static int[] getDimensions(Object array) { if (!array.getClass().isArray()) { return new int[0]; } if (array.getClass().getComponentType().isArray()) { int[] subDimensions = getDimensions(Array.get(array, 0)); int[] ret = new int[subDimensions.length + 1]; System.arraycopy(subDimensions, 0, ret, 1, subDimensions.length); ret[0] = Array.getLength(array); return ret; } else { return new int[] {Array.getLength(array)}; } }