反射操作数组

本文深入探讨了Java反射API的应用,通过实例演示了如何使用反射获取并操作数组元素,包括获取数组内容、单个元素、数组长度及遍历数组。同时,展示了如何利用反射创建数组,为读者提供了全面的Java反射技术实践指导。
package testPack;
​
public class Array {
    int[] arr = {10,20,30,40,50};
}

package testPack;

import java.lang.reflect.Array;
import java.lang.reflect.Field;
import java.util.Arrays;

public class classTest {
    public static void main(String[] args) throws Exception {
        // TODO Auto-generated method stub
        Class<?> c = Class.forName("testPack.Array");
        Object ob = c.getConstructor().newInstance();
        Field field = c.getDeclaredField("arr");
        Object obj = field.get(ob);
        
//      获取整个数组
        System.out.println(Arrays.toString((int[]) obj));
        
//      获取数组单个元素
        System.out.println("=================");
        int a = Array.getInt(obj, 0);
        System.out.println(a);
        Object o = Array.get(obj, 1);
        System.out.println(o);
        
//      获取数组长度
        System.out.println("=================");
        System.out.println(Array.getLength(obj));
        
//      数组遍历
        System.out.println("=================");
        for(int arr : (int[])obj){
            System.out.println(arr);
        }
//      创建数组
        System.out.println("=================");
        Object array = Array.newInstance(String.class,5);
        for(String str : (String[])array){
            System.out.println(str);
        }
    }
}

运行结果

[10, 20, 30, 40, 50]
=================
10
20
=================
5
=================
10
20
30
40
50
=================
null
null
null
null
null
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值