在 Java 中获取数组维度

java 8object oriented programmingprogramming

为了在 Java 中获取数组维度,我们使用 getClass()、isArray() 和 getComponentType() 方法,结合迭代语句进行决策。

getClass() 方法返回对象的运行时类。getClass() 方法是 java.lang.Object 类的一部分。

声明 − java.lang.Object.getClass() 方法声明如下 −

public final Class getClass()

isArray() 方法检查传递的参数是否为数组。它返回一个布尔值,要么是 true,要么是 false

语法 - isArray() 方法具有以下语法

Array.isArray(obj)

getComponentType() 方法返回表示数组组件类型的 Class。如果该类不是数组类,则此方法返回 null。

声明 − java.lang.Class.getComponentType() 方法声明如下 −

public Class<?> getComponentType()

让我们看一个在 Java 中获取数组维度的程序 −

示例

public class Example {
   public static int dimensionOf(Object arr) {
      int dimensionCount = 0;
      Class c = arr.getClass(); // 获取对象的运行时类
      while (c.isArray()) // 检查对象是否为数组 {
         c = c.getComponentType(); // 返回表示数组组件类型的类
         dimensionCount++;
      }
      return dimensionCount;
   }
   public static void main(String args[]) {
      String[][][] array = new String[7][9][8]; // 创建一个三维字符串数组
      System.out.println(dimensionOf(array));
   }
}

相关文章