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


Java Array newInstance()用法及代码示例


Array 类的 getInstance() 方法用于创建具有指定组件类型和尺寸的新数组。如果 componentType 是非数组或接口类型的类,则新数组将维度.长度维度和 componentType 作为其组件类型。

用法

public static Object newInstance(Class<?> componentType, int length)
      throws NegativeArraySizeException


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

参数

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

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

返回

新数组

抛出

NullPointerException

IllegalArgumentException

ArrayIndexOutOfBoundsException -

负数组大小异常

例子1

//import statement

import java.lang.reflect.Array;

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

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

      Array.set(strarr[0], 0, "javaTpoint");
      Array.set(strarr[1], 1, ".Net");
      Array.set(strarr[2], 2, "c#");

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

输出:

Array[0][0] = javaTpoint
Array[1][1] = .Net
Array[2][2] = c#

例子2

import java.lang.reflect.Array;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Arrays;

public class ReflectArraynewInstanceExample2  {

    public static void main(String... args) {
        int lnth = 4;
        Object obj = Array.newInstance(BigDecimal.class, lnth);
        for (int i = 0; i < lnth; i++) {
            Array.set(obj, i, BigDecimal.valueOf(i));
        }
        System.out.println(Arrays.toString((Object[]) obj));
    }
}

输出:

[0, 1, 2, 3]




相关用法


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