`
yahaitt
  • 浏览: 756974 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

java.lang.reflect.Array的应用

阅读更多

java.lang.Array 类提供了动态创建和访问数组元素的各种静态方法。例程
ArrayTest 类的main()方法创建了一个长度为10 的字符串数组,接着把索引位置为5 的元素设为“hello”,然后再读取索引位置为5 的元素的值

一、作为一维数组示例代码:

这里第21行,也可以这样写:Array.setInt(array_2,10,37);

 

java 代码
  1. package com.test.reflect;   
  2.   
  3. import java.lang.reflect.Array;   
  4.   
  5. public class ArrayTest {   
  6.   
  7.     public static void main(String[] args) throws Exception {   
  8.            
  9.         Class clazz = Class.forName("java.lang.String");   
  10.            
  11.         //创建一个长度为10的字符串数组,在Java中数组也可以作为Object对象   
  12.         Object array = Array.newInstance(clazz, 10);   
  13.            
  14.         //把字符串数组对象的索引位置为5的元素设置为"hello"   
  15.         Array.set(array, 5"hello");   
  16.            
  17.         //获得字符串数组对象的索引位置为5的元素的值   
  18.         String str = (String)Array.get(array, 5);   
  19.         System.out.println(str);//hello   
  20.     }   
  21.   
  22. }   

 

二、作为多维数组对象示例代码

java 代码
  1. package com.test.reflect;   
  2.   
  3. import java.lang.reflect.Array;   
  4.   
  5. public class ArrayTest2 {   
  6.   
  7.     public static void main(String[] args) {   
  8.            
  9.         //dims的长度就表示了数组的维数,如这里的是三维   
  10.         int[] dims = new int[] {5,10,15};   
  11.         //array其实就是个三维数组对象了   
  12.         Object array = Array.newInstance(Integer.TYPE, dims);   
  13.            
  14.         //找到第一维下标为3的元素,此元素是个二维数组对象   
  15.         Object array_1 = Array.get(array, 3);   
  16.            
  17.         //找到第二维下标为5的元素,此元素是个一维数组对象   
  18.         Object array_2 = Array.get(array_1, 5);   
  19.            
  20.         //找到第三维下标为10的元素,此元素是个int类型的数据,并给这个数据赋值为37   
  21.         Array.set(array_2, 1037);   
  22.            
  23.         int[][][] value = (int[][][])array;   
  24.         System.out.println(value[3][5][10]);//37   
  25.            
  26.     }   
  27.   
  28. }   

 

上面的代码第21行也可以这样写:Array.setInt(array_2,10,37);

分享到:
评论
1 楼 ttitfly 2007-11-29  

相关推荐

    反射机制用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)...

    Java 高级特性.doc

    import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; import java.util.Collection; import java.util.Vector; public class ProxyTest { public ...

    jsp结合javabean的实践

    i<Array.getLength(s_array);i++){ //统计订单系统用时 if(s_array[i].matches("订单系统")){ p=i; //position temp1=(new Double(s_array[p+3])).doubleValue(); temp2=(new Double(s_array[p+4]))....

    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) ...

    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

    When we have a closely related data of the same type and scope, it is better to declare it in an array. Multidimensional array java A two dimensional array can be thought as a grid of rows and ...

    springmybatis

    MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录. orm工具的基本思想 无论是用过的hibernate,mybatis,你都可以法相他们有一个...

    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