Java数组的每个实例都有长度,并非同一维的所有数组都必须具有相等的长度。也就是说,您可以在中获取实例的长度。
尺寸可以用名称中的[[]数来计数,这比降级类型层次结构要快。如下代码:
int[][][] ary = {{{0},{1}}}; Class cls = ary.getClass(); boolean isAry = cls.isArray(); String clsName = cls.getName(); System.out.println("is array=" + isAry); System.out.println("name=" + clsName); int nrDims = 1 + clsName.lastIndexOf('['); System.out.println("nrDims=" + nrDims); Object orly = ary; for (int n = 0; n < nrDims; n++) { int len = Array.getLength(orly); System.out.println("dim[" + n + "]=" + len); if (0 < len) { orly = Array.get(orly, 0); } }给出以下输出:
is array=truename=[[[InrDims=3dim[0]=1dim[1]=2dim[2]=1



