当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Java java.lang.reflect.Array.newInstance()用法及代码示例


描述

这个java.lang.reflect.Array.newInstance(Class<?> componentType, int... dimensions)方法创建一个具有指定组件类型和尺寸的新数组。如果 componentType 表示非数组类或接口,则新数组的组件类型为维度、长度维度和组件类型。如果componentType代表一个数组类,则新数组的维数等于dimension.length与componentType的维数之和。在这种情况下,新数组的组件类型为 componentType 的组件类型。

声明

以下是声明java.lang.reflect.Array.newInstance(Class<?> componentType, int... dimensions)方法。

public static Object newInstance(Class<?> componentType, int... dimensions)
   throws IllegalArgumentException, NegativeArraySizeException

参数

  • componentType- 表示新数组的组件类型的 Class 对象。

  • dimensions- 表示新数组维度的 int 数组。

返回值

新数组。

异常

  • NullPointerException− 如果指定的componentType 为null。

  • IllegalArgumentException- 如果指定的维度参数是 zero-dimensional 数组,或者如果请求的维度数量超过了实现支持的数组维度数量的限制(通常为 255),或者如果 componentType 是 Void.TYPE。

  • ArrayIndexOutOfBoundsException− 如果指定的索引参数为负。

示例

下面的例子展示了 java.lang.reflect.Array.newInstance(Class<?> componentType, int...Dimensions) 方法的用法。

package com.tutorialspoint;

import java.lang.reflect.Array;

public class ArrayDemo {
   public static void main(String[] args) {

      String[][] stringArray = (String[][]) Array.newInstance(String.class, 3,3);

      Array.set(stringArray[0], 0, "Mahesh");
      Array.set(stringArray[1], 1, "Ramesh");
      Array.set(stringArray[2], 2, "Suresh");

      System.out.println("stringArray[0][0] = " + Array.get(stringArray[0], 0));
      System.out.println("stringArray[1][1] = " + Array.get(stringArray[1], 1));
      System.out.println("stringArray[2][2] = " + Array.get(stringArray[2], 2));
   }
}

让我们编译并运行上面的程序,这将产生以下结果 -

stringArray[0][0] = Mahesh
stringArray[1][1] = Ramesh
stringArray[2][2] = Suresh

相关用法


注:本文由纯净天空筛选整理自 java.lang.reflect.Array.newInstance() Method Example。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。