Java API中Array类简单使用示例

来源:互联网 发布:vb趣味程序集锦 编辑:程序博客网 时间:2024/06/12 19:23

   Array类是java.lang.reflect包中的一个类,该类提供了动态创建和访问java数组的方法。允许在执行 get 或 set 操作期间进行扩展转换,但如果发生收缩转换,则抛出IllegalArgumentException

        下面以一个简单的示例来说明一下:

package com.erbin.test;import java.lang.reflect.Array;import java.util.Arrays;public class TestArray {public static void main(String[] args) {int[] it = new int[]{12,34,4,2,3};System.out.println("before: "+Array.getInt(it, 2));Array.setInt(it, 2, 10);System.out.println("after: "+Array.getInt(it, 2));//use the Array to get the index valuedouble[] d = new double[]{2,33.32,23.0};System.out.println(Array.getDouble(d, 2));//create the new array by using the newInstance methodObject o = Array.newInstance(int.class, 4);int[] na = (int[]) o;na[0] = 23;System.out.println(Arrays.toString(na));//create the new multiple array  Object oo = Array.newInstance(int.class, 2,3);int[][] naa = (int[][])oo;System.out.println(Arrays.toString(naa));}}
注意:使用Array类获取指定组件下的数据时,类型要保持一致,否则会报异常:

Exception in thread "main" before: 4
after: 10
java.lang.IllegalArgumentException: argument type mismatch
at java.lang.reflect.Array.getInt(Native Method)
at com.erbin.test.TestArray.main(TestArray.java:15)

如果想了解更多该类的方法可以参考Java API进行查找。

0 0