数组反射功能依赖类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));
}
}
分享到:
相关推荐
import java.lang.reflect.Array; public class ArrayTest { public static void main(String[] args){ try{ //创建一个元素类型为String,长度为10的数组 Object arr=Array.newInstance(String.class,10)...
<%@ page import="java.lang.reflect.Array"%> <%@ page import="java.lang.Long"%> <%@ page import="java.util.HashMap"%> <jsp:useBean id="rd" class="songyc.ReadFile" scope="application"> ...
例如Class<?> classType = Class.forName(java.lang.String); 例子: a..使用?通配符可以引用其他各种参数化的类型,但不能调用与参数化有关的方法; Collection<?> c = new Vector<String>(); c.add("abc");//报错...
java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; /* * JDK 动态代理 * */ public class dynamicProxyUsingJDK { public static void main(String[] args) ...
1.Configuration.xml 是 mybatis 用来建立 sessionFactory 用的,里面主要包含了数据库连接相关东西,还有 java 类所对应的别名,比如 <typeAlias alias="User" type="com.yihaomen.mybatis.model.User"/> 这个别名...
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集合了。
ja那教提供可编写脚本的api,以通过Java Management Extensions访问基于JAIN SLEE的服务的Operational Maintenanceance接口。 自动化或安排常见的使用场景。... var services = java.lang.reflect.Array.new
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...
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; /** ...