【转】java.lang.reflect.Array的应用

本文介绍了Java中Array类的基本用法,通过两个示例展示了如何创建和操作一维及多维数组。首先创建了一个长度为10的字符串数组,并设置了特定索引的值;其次演示了创建和访问三维整型数组的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【转】http://yahaitt.iteye.com/blog/144779

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

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

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

 

package com.test.reflect;    
   
import java.lang.reflect.Array;    
   
public class ArrayTest {    
   
    public static void main(String[] args) throws Exception {    
            
        Class clazz = Class.forName("java.lang.String");    
            
        //创建一个长度为10的字符串数组,在Java中数组也可以作为Object对象    
        Object array = Array.newInstance(clazz, 10);    
            
        //把字符串数组对象的索引位置为5的元素设置为"hello"    
        Array.set(array, 5, "hello");    
            
        //获得字符串数组对象的索引位置为5的元素的值    
        String str = (String)Array.get(array, 5);    
        System.out.println(str);//hello    
    }    
   
}    

 

 

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

package com.test.reflect;    
   
import java.lang.reflect.Array;    
   
public class ArrayTest2 {    
   
    public static void main(String[] args) {    
            
        //dims的长度就表示了数组的维数,如这里的是三维    
        int[] dims = new int[] {5,10,15};    
        //array其实就是个三维数组对象了    
        Object array = Array.newInstance(Integer.TYPE, dims);    
            
        //找到第一维下标为3的元素,此元素是个二维数组对象    
        Object array_1 = Array.get(array, 3);    
            
        //找到第二维下标为5的元素,此元素是个一维数组对象    
        Object array_2 = Array.get(array_1, 5);    
            
        //找到第三维下标为10的元素,此元素是个int类型的数据,并给这个数据赋值为37    
        Array.set(array_2, 10, 37);    
            
        int[][][] value = (int[][][])array;    
        System.out.println(value[3][5][10]);//37    
            
    }    
   
}    

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值