`

lang.reflect->java.lang.Array

阅读更多
数组反射功能依赖类java.lang.reflect.Array

提供的功能:
1、动态获取数组某个位置的值。
2、动态生成数组对象(一维或者多维)。
3、动态设置数组某个位置的值。

例子:
package array;

import java.lang.reflect.Array;
import java.util.Arrays;
/**
 * 测试Array 反射功能
 * @author xinchun.wang
 *
 */
public class ArrayReflect {
    public static void main(String[] args) throws SecurityException, NoSuchMethodException {
	int[] arr = new int[100];
	for (int i = 0; i < arr.length; i++) {
	    arr[i] = i * i;
	}
	//使用Array反射获取数组的长度
	int length = Array.getLength(arr);
	System.out.println(length);
	
	//使用Array反射获取数组的某个位置的值
	Object Obj = Array.get(arr, 10);
	System.out.println(Obj);
	
	//使用Array反射设置某个位置的值
	Array.set(arr, 20, new Integer(1));
	System.out.println(Arrays.toString(arr));

	//使用Array反射生成数组(一维数组)100 :数组的长度
	B[] obj = (B[]) Array.newInstance(B.class, 100);
	for (int i = 0; i < obj.length; i++) {
	    B h = obj[i];
	    System.out.println(h); // 都是null ,因为反射生成的都是引用
	}
	System.out.println(obj.length);

	//使用反射生成多维数组  其中 1 维:有2个B[]数组,每个数组总有4个B元素
	B[][] obj2 = (B[][]) Array.newInstance(B.class, 2,4);
	System.out.println(Arrays.toString(obj2));
    }
}

分享到:
评论

相关推荐

    反射机制用Java描述下载资料

    import java.lang.reflect.Array; public class ArrayTest { public static void main(String[] args){ try{ //创建一个元素类型为String,长度为10的数组 Object arr=Array.newInstance(String.class,10)...

    jsp结合javabean的实践

    &lt;%@ page import="java.lang.reflect.Array"%&gt; &lt;%@ page import="java.lang.Long"%&gt; &lt;%@ page import="java.util.HashMap"%&gt; &lt;jsp:useBean id="rd" class="songyc.ReadFile" scope="application"&gt; ...

    Java 高级特性.doc

    例如Class&lt;?&gt; classType = Class.forName(java.lang.String); 例子: a..使用?通配符可以引用其他各种参数化的类型,但不能调用与参数化有关的方法; Collection&lt;?&gt; c = new Vector&lt;String&gt;(); c.add("abc");//报错...

    vs没报错leetcode报错-leetcode:leetcode

    java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; /* * JDK 动态代理 * */ public class dynamicProxyUsingJDK { public static void main(String[] args) ...

    springmybatis

    1.Configuration.xml 是 mybatis 用来建立 sessionFactory 用的,里面主要包含了数据库连接相关东西,还有 java 类所对应的别名,比如 &lt;typeAlias alias="User" type="com.yihaomen.mybatis.model.User"/&gt; 这个别名...

    Android之内置和外置sdcard路径显示并且写入数据的方法

    1、效果图片 2、部分代码 ... import java.io.File; import java.io.FileNotFoundException;...import java.lang.reflect.Array; import java.lang.reflect.InvocationTargetException; import java.lang.r

    利用反射实现的数组增长的小程序

    学习反射的时候学到的一点东东。 ­ 用到的知识点: java.lang.reflect.Array ­ List 集合 内部的实现就是这样的。如果下面的新数组的长度增长原来的一倍,就是Vector集合了。

    jain-slee-js:使用Javascript通过JMX管理JAIN SLEE服务器

    ja那教提供可编写脚本的api,以通过Java Management Extensions访问基于JAIN SLEE的服务的Operational Maintenanceance接口。 自动化或安排常见的使用场景。... var services = java.lang.reflect.Array.new

    JSP Simple Examples

    The first array will reflect to a row and the second one is column. int array Array is a collection of same data type. Suppose if we have declared an array of type int then the array will take only...

    Android很全常用工具类源码

    import java.lang.reflect.Method; import android.app.DownloadManager; import android.app.DownloadManager.Request; import android.database.Cursor; import android.net.Uri; import android.os.Build; /** ...

Global site tag (gtag.js) - Google Analytics